홈페이지에서 소스를 다운로드 받는다.
압축을 푼다.
알기 쉽게 Document로 copy 한다
xcode에서 연다.
위치는 irrLichtHome/source/Irrlicht/MacOSX 밑에 프로젝트 파일이 있다.
( 예) /Users/wdshin/Documents/irrlicht-1.7.1/source/Irrlicht/MacOSX/MacOSX.xcodeproj)
libIrrlicht.a 부터 빌드하고, 나머지는 include 등 path 설정후에 빌드하면 된다.
( warning 이 많이 뜨지만, 빌드와 실행은 된다;;일부 프로그램은 바로 실행이 어렵다. 수정을 해줘야함.)
소감 : Ubuntu,Windows,Mac OSX모두에서 빌드가 무리없이 잘 된다.
빌드 환경을 좌우하는 것은 뭘까?
1) 빌드 스크립트? 프로세스? 즉, CMakefile,Configure,Makefile등이 여러 플랫폼에서 테스트 되어 있어야 한다. 많은 오픈 소스 프로젝트는 잘 테스트 되어 있지 않다.
2) Directory(Folder)구조 : CMakefile처럼 build를 위해서 따로 복사본을 생성시키는
경우가 좋지만, 그렇지 않아도 상관은 없다. bin,src,project,third-party-dependency등이
잘 고려된 구조여야 한다.
3) 하부 시스템 layer : loose coupling으로 시스템에 의존적인 부분을 잘 떼어내고 붙일 수 있도록 구조가 짜여져 있어야 한다.
여러 플랫폼에서 되면 좋은 것은 뭐냐? 한개의 플랫폼에서만 잘 되면 되지 않느냐?
1) 하부 시스템이 잘 분리되는 구조를 만들 수 있다. 즉, 시스템의 기능에 흔들리지 않는 구조를 만들 수 있다.
2) 많은 사용자를 유치할 수 있다.
3) 오픈 소스 개발자의 경우 더 많은 개발자를 유치할 수 있다. 많은 개발자 유치는 많은 피드백 유치로 이어져 완성도 상승에 기여가 된다.
4) 여러 빌드/프로젝트 IDE 시스템에서 가능 할 경우, 개발자의 취향에 맞는 개발 생산성을 추구할 수 있게 된다.
5) 2번과 같은 맥락인데, 떠오르는 시장에 대처할 수 있다. 요즘은 모바일 스마트폰 환경이 떠오르고 있는데, 그것에 대처하기 위해서, 시스템을 고치는데 시간을 많이 쓰게 된다면, 좋은 비즈니스 기회를 잃을 수 있게 된다.
단점으로는,
1) 시스템의 의존도를 잘 고려해야 하므로, 이 부분 개발에 시간을 많이 쓰게 된다. 하지만, 한 번 해 놓으면 그 다음부터는 시스템의 변화에 따라서 적응하면 된다.
2) 여러 플랫폼을 쓰게 된다는 뜻은, 한개의 플랫폼에 집중하지 못하게 되어, 특성있는
플랫폼의 특징을 살릴 수 없을 수도 있다. 하지만, 이 경우는 그것을 포용하도록 하는
구조를 만들면 해결된다. 또한, 이 부분에 시간을 써야지만 제대로 된 구조가 나온다.
결론, 오픈소스 3D 엔진중에서 크로스플랫폼에서 빌드가 잘 되는 IrrLicht구조를 학습하면 좋을 것이다. 학습은 각자의 몫으로 남깁니다.;; 나중에 기회되면 분석을...
Ogre3D 는 CMakefile 을 썼는데, 시도는 좋았으나 결과는 좋지 못했다.
실행환경(deployment)까지 신경쓰는 빌드시스템이 필요하다.
댓글 없음:
댓글 쓰기