#------------------------------------------------------------------- # This file is part of the CMake build system for Scol # # The contents of this file are placed in the public domain. Feel # free to make use of it in any way you like. #------------------------------------------------------------------- ############################################################ # include/Scol core library ############################################################ PROJECT(zoogl24) # define header and source files for the library set (ZOOGL24_BASIC_HEADER_FILES include/basic/glext.h include/basic/wglext.h include/basic/ZooArray.h include/basic/ZooArray.inl include/basic/ZooDetect.h include/basic/ZooMalloc.h include/basic/ZooMatrix.h include/basic/ZooMatrix.inl include/basic/ZooNode.h include/basic/ZooProfile.h include/basic/ZooScene.h include/basic/ZooSoft.h include/basic/ZooStd.h include/basic/ZooWorld.h ) if (Scol_STATIC) set (ZOOGL24_BASIC_HEADER_FILES ${ZOOGL24_BASIC_HEADER_FILES} include/loadScolZooengine.h) endif() set (ZOOGL24_BASIC_SOURCE_FILES src/basic/ZooDetect.cpp src/basic/ZooMalloc.cpp src/basic/ZooMatrix.cpp src/basic/ZooNode.cpp src/basic/ZooProfile.cpp src/basic/ZooScene.cpp src/basic/ZooSoft.cpp src/basic/ZooWorld.cpp ) set (ZOOGL24_BOX_HEADER_FILES include/box/ZBoxColl.h ) set (ZOOGL24_BOX_SOURCE_FILES src/box/ZBoxColl.cpp src/box/ZooBox.cpp ) set (ZOOGL24_COLLISION_HEADER_FILES include/collision/matvec.H include/collision/moments.H include/collision/overlap.H include/collision/Rapid.h include/collision/RAPID_version.H include/collision/ZooOldColl.h ) set (ZOOGL24_COLLISION_SOURCE_FILES src/collision/collide.cpp src/collision/overlap.cpp src/collision/Rapid.cpp src/collision/ZooOldColl.cpp ) set (ZOOGL24_DATAS_HEADER_FILES include/datas/ZooData.h include/datas/ZooFont.h include/datas/ZooMaterial.h include/datas/ZooMesh.h include/datas/ZooPRS.h include/datas/ZooTexture.h ) set (ZOOGL24_DATAS_SOURCE_FILES src/datas/ZooData.cpp src/datas/ZooFont.cpp src/datas/ZooMaterial.cpp src/datas/ZooMesh.cpp src/datas/ZooPRS.cpp src/datas/ZooTexture.cpp ) set (ZOOGL24_LOADERS_JPEG_HEADER_FILES include/loaders/JPEG/LoaderJpeg.h ) set (ZOOGL24_LOADERS_JPEG_SOURCE_FILES src/loaders/JPEG/LoaderJpeg.cpp ) set (ZOOGL24_LOADERS_M3D_HEADER_FILES include/loaders/M3D/ZooM3D.h ) set (ZOOGL24_LOADERS_M3D_SOURCE_FILES src/loaders/M3D/ZooM3D.cpp ) set (ZOOGL24_LOADERS_PNG_HEADER_FILES include/loaders/PNG/Readpng.h ) set (ZOOGL24_LOADERS_PNG_SOURCE_FILES src/loaders/PNG/Readpng.c ) set (ZOOGL24_SCENEGRAPH_HEADER_FILES include/sceneGraph/ZooAnim.h include/sceneGraph/ZooBone.h include/sceneGraph/ZooCamera.h include/sceneGraph/ZooColl.h include/sceneGraph/ZooLight.h include/sceneGraph/ZooNodeGraph.h include/sceneGraph/ZooObject.h include/sceneGraph/ZooParticle.h include/sceneGraph/ZooShell.h include/sceneGraph/ZooSkelet.h include/sceneGraph/ZooSound.h include/sceneGraph/ZooSprite.h ) set (ZOOGL24_SCENEGRAPH_SOURCE_FILES src/sceneGraph/ZooAnim.cpp src/sceneGraph/ZooBone.cpp src/sceneGraph/ZooCamera.cpp src/sceneGraph/ZooColl.cpp src/sceneGraph/ZooLight.cpp src/sceneGraph/ZooNodeGraph.cpp src/sceneGraph/ZooObject.cpp src/sceneGraph/ZooParticle.cpp src/sceneGraph/ZooShell.cpp src/sceneGraph/ZooSkelet.cpp src/sceneGraph/ZooSound.cpp src/sceneGraph/ZooSprite.cpp ) set (ZOOGL24_SCOL_HEADER_FILES include/scol/colors.h include/scol/ext.h include/scol/Objstr.h include/scol/SCOLcb3d.h include/scol/SCOLsound.h include/scol/Version.h include/scol/ZooSCOL.h ) set (ZOOGL24_SCOL_SOURCE_FILES src/scol/colors.cpp src/scol/ext.cpp src/scol/SCOL3dSound.cpp src/scol/SCOLcb3d.cpp src/scol/SCOLeasySound.cpp src/scol/SCOLmp3.cpp src/scol/SCOLParticle.cpp src/scol/SCOLrecorder.cpp src/scol/SCOLSDsound.cpp src/scol/SCOLsound.cpp src/scol/SCOLwave.cpp src/scol/ZooSCOL.cpp ) set (ZOOGL24_SOUND_HEADER_FILES include/sound/HUtil.h include/sound/mpglibbind.h ) set (ZOOGL24_SOUND_SOURCE_FILES src/sound/HAudio.cpp src/sound/HData.cpp src/sound/HListener.cpp src/sound/HMp3.cpp src/sound/HRecNotify.cpp src/sound/HRecord.cpp src/sound/HSndNotify.cpp src/sound/HSound.cpp src/sound/HSoundManager.cpp src/sound/HThread.cpp src/sound/HWave.cpp src/sound/WSound.cpp ) set (MPGLIB_HEADER_FILES mpglib/huffman.h mpglib/mpg123.h mpglib/mpglib.h ) set (MPGLIB_SOURCE_FILES mpglib/common.c mpglib/dct64_i386.c mpglib/decode_i386.c mpglib/interface.c mpglib/layer3.c mpglib/main.c mpglib/tabinit.c ) scol_include_plugin("ZOOENGINE" "${PROJECT_SOURCE_DIR}/include" "loadScolZooengine.h") # Add directories includes include_directories(include mpglib ${DSound_INCLUDE_DIRS} ${OPENGL_INCLUDE_DIRS} ${Glew_INCLUDE_DIRS} ${PNG_INCLUDE_DIRS} ${ZLIB_INCLUDE_DIRS} ${Cg_INCLUDE_DIRS}) # This is how visual studio directories (or filters) are generated. source_group(Header\ Files\\Zoo\\Basic FILES ${ZOOGL24_BASIC_HEADER_FILES}) source_group(Header\ Files\\Zoo\\Box FILES ${ZOOGL24_BOX_HEADER_FILES}) source_group(Header\ Files\\Zoo\\Collision FILES ${ZOOGL24_COLLISION_HEADER_FILES}) source_group(Header\ Files\\Zoo\\Datas FILES ${ZOOGL24_DATAS_HEADER_FILES}) source_group(Header\ Files\\Zoo\\Loaders\\Jpeg FILES ${ZOOGL24_LOADERS_JPEG_HEADER_FILES}) source_group(Header\ Files\\Zoo\\Loaders\\M3D FILES ${ZOOGL24_LOADERS_M3D_HEADER_FILES}) source_group(Header\ Files\\Zoo\\Loaders\\PNG FILES ${ZOOGL24_LOADERS_PNG_HEADER_FILES}) source_group(Header\ Files\\Zoo\\Scene\ Graph FILES ${ZOOGL24_SCENEGRAPH_HEADER_FILES}) source_group(Header\ Files\\Zoo\\Scol FILES ${ZOOGL24_SCOL_HEADER_FILES}) source_group(Header\ Files\\Zoo\\Sound FILES ${ZOOGL24_SOUND_HEADER_FILES}) source_group(Header\ Files\\Libmpg FILES ${MPGLIB_HEADER_FILES}) # Same thing for sources files source_group(Source\ Files\\Zoo\\Basic FILES ${ZOOGL24_BASIC_SOURCE_FILES}) source_group(Source\ Files\\Zoo\\Box FILES ${ZOOGL24_BOX_SOURCE_FILES}) source_group(Source\ Files\\Zoo\\Collision FILES ${ZOOGL24_COLLISION_SOURCE_FILES}) source_group(Source\ Files\\Zoo\\Datas FILES ${ZOOGL24_DATAS_SOURCE_FILES}) source_group(Source\ Files\\Zoo\\Loaders\\Jpeg FILES ${ZOOGL24_LOADERS_JPEG_SOURCE_FILES}) source_group(Source\ Files\\Zoo\\Loaders\\M3D FILES ${ZOOGL24_LOADERS_M3D_SOURCE_FILES}) source_group(Source\ Files\\Zoo\\Loaders\\PNG FILES ${ZOOGL24_LOADERS_PNG_SOURCE_FILES}) source_group(Source\ Files\\Zoo\\Scene\ Graph FILES ${ZOOGL24_SCENEGRAPH_SOURCE_FILES}) source_group(Source\ Files\\Zoo\\Scol FILES ${ZOOGL24_SCOL_SOURCE_FILES}) source_group(Source\ Files\\Zoo\\Sound FILES ${ZOOGL24_SOUND_SOURCE_FILES}) source_group(Source\ Files\\Libmpg FILES ${MPGLIB_SOURCE_FILES}) # Add definition for P4 optimizations, warnings removal. add_definitions(-DOPTI_P4 -D_CRT_SECURE_NO_WARNINGS -DMATH_EXPORTS) # setup Scol lib2d target add_library(zoogl24 ${Scol_LIB_TYPE} ${ZOOGL24_BASIC_HEADER_FILES} ${ZOOGL24_BASIC_SOURCE_FILES} ${ZOOGL24_BOX_HEADER_FILES} ${ZOOGL24_BOX_SOURCE_FILES} ${ZOOGL24_COLLISION_HEADER_FILES} ${ZOOGL24_COLLISION_SOURCE_FILES} ${ZOOGL24_DATAS_HEADER_FILES} ${ZOOGL24_DATAS_SOURCE_FILES} ${ZOOGL24_LOADERS_JPEG_HEADER_FILES} ${ZOOGL24_LOADERS_JPEG_SOURCE_FILES} ${ZOOGL24_LOADERS_M3D_HEADER_FILES} ${ZOOGL24_LOADERS_M3D_SOURCE_FILES} ${ZOOGL24_LOADERS_PNG_HEADER_FILES} ${ZOOGL24_LOADERS_PNG_SOURCE_FILES} ${ZOOGL24_SCENEGRAPH_HEADER_FILES} ${ZOOGL24_SCENEGRAPH_SOURCE_FILES} ${ZOOGL24_SCOL_HEADER_FILES} ${ZOOGL24_SCOL_SOURCE_FILES} ${ZOOGL24_SOUND_HEADER_FILES} ${ZOOGL24_SOUND_SOURCE_FILES} ${MPGLIB_HEADER_FILES} ${MPGLIB_SOURCE_FILES} ) add_dependencies(zoogl24 kernel) # set the dll version. #set_target_properties(zoogl24 PROPERTIES VERSION ${Scol_VERSION} SOVERSION ${Scol_VERSION_MAJOR}) # Link dependencies set(LIBRARIES ${DSound_LIBRARIES} ${OPENGL_LIBRARIES} ${Glew_LIBRARIES} ${PNG_LIBRARIES} ${JPEG_LIBRARIES} ${ZLIB_LIBRARIES} ${Cg_LIBRARIES} Winmm.lib) # Linking target_link_libraries(zoogl24 ${LIBRARIES}) # install Scol zoogl24 scol_config_plugin(zoogl24) #install(FILES ${ZOOGL24_BASIC_HEADER_FILES} DESTINATION include/SCOL/plugins/zooengine\ 24/basic) #install(FILES ${ZOOGL24_BOX_HEADER_FILES} DESTINATION include/SCOL/plugins/zooengine\ 24/box) #install(FILES ${ZOOGL24_COLLISION_HEADER_FILES} DESTINATION include/SCOL/plugins/zooengine\ 24/collision) #install(FILES ${ZOOGL24_DATAS_HEADER_FILES} DESTINATION include/SCOL/plugins/zooengine\ 24/datas) #install(FILES ${ZOOGL24_LOADERS_JPEG_HEADER_FILES} DESTINATION include/SCOL/plugins/zooengine\ 24/loaders/JPEG) #install(FILES ${ZOOGL24_LOADERS_M3D_HEADER_FILES} DESTINATION include/SCOL/plugins/zooengine\ 24/loaders/M3D) #install(FILES ${ZOOGL24_LOADERS_PNG_HEADER_FILES} DESTINATION include/SCOL/plugins/zooengine\ 24/loaders/PNG) #install(FILES ${ZOOGL24_SCENEGRAPH_HEADER_FILES} DESTINATION include/SCOL/plugins/zooengine\ 24/sceneGraph) #install(FILES ${ZOOGL24_SCOL_HEADER_FILES} DESTINATION include/SCOL/plugins/zooengine\ 24/scol) #install(FILES ${ZOOGL24_SOUND_HEADER_FILES} DESTINATION include/SCOL/plugins/zooengine\ 24/sound) #install(FILES ${MPGLIB_HEADER_FILES} DESTINATION include/SCOL/plugins/zooengine\ 24/mpglib)