CMakeLists.txt 2.66 KB
Newer Older
Pierre Kraemer's avatar
Pierre Kraemer committed
1 2 3 4 5 6 7 8 9 10 11
cmake_minimum_required(VERSION 2.6)

project(CGoGN)

# a decommenter si on veut voir ce qui se passe a la compilation
#set( CMAKE_VERBOSE_MAKEFILE 1 )

SET(CGoGN_ROOT_DIR ${CMAKE_SOURCE_DIR}/..)

SET(CMAKE_MODULE_PATH " ${CMAKE_MODULE_PATH} ${CGoGN_ROOT_DIR}/cmake_modules/")

thery's avatar
thery committed
12 13
find_package(OpenGL REQUIRED)
find_package(Qt4 REQUIRED)
Pierre Kraemer's avatar
Pierre Kraemer committed
14 15
find_package(GLUT)

16 17 18 19 20 21 22 23
IF (DEFINED ASSERTON)
	add_definitions(-DCGOGN_ASSERT_BOOL=${ASSERTON})
ELSE (DEFINED ASSERTON)
	add_definitions(-DCGOGN_ASSERT_BOOL=false)
ENDIF (DEFINED ASSERTON)

add_definitions(-DSHADERPATH="${CGoGN_ROOT_DIR}/lib/Shaders/")

Pierre Kraemer's avatar
Pierre Kraemer committed
24 25 26 27 28
# qq definition specifiques pour mac
IF(APPLE)
# attention a changer pour chercher la bonne version automatiquement
	SET(CMAKE_OSX_SYSROOT "/Developer/SDKs/MacOSX10.6.sdk")
	SET(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -Wl,-undefined -Wl,dynamic_lookup")
29 30
	SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DMAC_OSX")
	SET(CMAKE_OSX_ARCHITECTURES x86_64)
Pierre Kraemer's avatar
Pierre Kraemer committed
31 32 33 34 35 36 37
ENDIF(APPLE)

IF(WIN32)
	SET(GLEW_LIBRARY glew32)
	SET(DEVIL_LIBRARIES DevIL ILU ILUT)
	SET(ZLIB_LIBRARIES zlib)
	SET(LIBXML2_LIBRARIES xml2)
38 39 40 41 42 43 44 45 46 47 48
	
	MACRO(BOOST_LIBS lib_lists names)
	SET (${lib_lists} "")
	FOREACH(name ${names})
		STRING(REGEX REPLACE "-mt" $ENV{boost_extension} newname ${name})
		SET (${lib_lists} ${${lib_lists}} ${newname} )
	ENDFOREACH(name)
	ENDMACRO(BOOST_LIBS)

	set (BOOST_INCLUDE_PATH $ENV{boost_path})
	
sylvain thery's avatar
sylvain thery committed
49
	INCLUDE_DIRECTORIES(${CGoGN_ROOT_DIR}/windows_dependencies/include/)
50
	LINK_DIRECTORIES(${CGoGN_ROOT_DIR}/windows_dependencies/lib/ $ENV{boost_path}/lib)
Pierre Kraemer's avatar
Pierre Kraemer committed
51 52 53 54 55
	add_subdirectory(Release)
	add_subdirectory(${CGoGN_ROOT_DIR}/Apps Apps)
	if (EXISTS "${CGoGN_ROOT_DIR}/Perso")
                add_subdirectory(${CGoGN_ROOT_DIR}/Perso Perso)
	endif (EXISTS "${CGoGN_ROOT_DIR}/Perso")
sylvain thery's avatar
sylvain thery committed
56 57 58

	if(CMAKE_CONFIGURATION_TYPES)
		set(CMAKE_CONFIGURATION_TYPES Release Debug)
thery's avatar
thery committed
59
		set(CMAKE_CONFIGURATION_TYPES "${CMAKE_CONFIGURATION_TYPES}" CACHE STRING "Only Release or Debug" FORCE)
sylvain thery's avatar
sylvain thery committed
60 61
	endif()
	
Pierre Kraemer's avatar
Pierre Kraemer committed
62 63 64 65 66 67 68 69 70 71 72
ELSE(WIN32)
	SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall")
	find_package(DevIL)
	find_package(ZLIB)
	find_package(LibXml2)
	SET(GLEW_LIBRARY GLEW)
	IF (IL_LIBRARIES)
		SET(DEVIL_LIBRARIES ${IL_LIBRARIES} ${ILU_LIBRARIES} ${ILUT_LIBRARIES})
	ELSE(IL_LIBRARIES)
		SET(DEVIL_LIBRARIES ${IL_LIBRARY} ${ILU_LIBRARY} ${ILUT_LIBRARY})
	ENDIF(IL_LIBRARIES)
73 74 75 76 77 78 79
	
	MACRO(BOOST_LIBS lib_lists names)
	SET (${lib_lists})
	FOREACH(name ${names})
		SET (${lib_lists} ${${lib_lists}} ${name} )
	ENDFOREACH(name)
	ENDMACRO(BOOST_LIBS)
thery's avatar
thery committed
80

Pierre Kraemer's avatar
Pierre Kraemer committed
81 82 83 84 85 86 87
	add_subdirectory(Release)
	add_subdirectory(Debug)
	add_subdirectory(${CGoGN_ROOT_DIR}/Apps Apps)
	if (EXISTS "${CGoGN_ROOT_DIR}/Perso")
                add_subdirectory(${CGoGN_ROOT_DIR}/Perso Perso)
	endif (EXISTS "${CGoGN_ROOT_DIR}/Perso")
ENDIF(WIN32)