#################################################################################################### # How make a separated application # # usage: # - create a directory # - place your sources and CMakeLists.txt inside # - insert this line in your CMakeLists.txt # include(${CGoGN_ROOT_DIR}/build/apps_cmake.txt) # just after defining CGoGN_ROOT_DIR # # Example: # ======== # cmake_minimum_required(VERSION 2.8) # project(Pipo) # # set(CGoGN_ROOT_DIR ${CMAKE_SOURCE_DIR}/../../CGoGN CACHE STRING "CGoGN root dir") # include(${CGoGN_ROOT_DIR}/apps_cmake.txt) # # include_directories( ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR} ) # qt_wrap_ui( pipo_ui pipo.ui ) # qt_wrap_cpp( pipo_moc pipo.h ) # add_executable( pipo pipo.cpp ${pipo_ui} ${pipo_moc} ) # target_link_libraries( pipo ${CGoGN_LIBS} ${CGoGN_EXT_LIBS} ) # qt_use_cgogn_modules(pipo) # # WARNING: to avoid problem of DLL loading, on windows executable are generated in CGoGN/bin/.... # Take care while choosing executable names # #################################################################################################### SET ( CGoGN_SRC_DIR ${CGoGN_ROOT_DIR}/CGoGN) SET ( CMAKE_MODULE_PATH ${CGoGN_ROOT_DIR}/cmake_modules/ ) INCLUDE(${CGoGN_ROOT_DIR}/cmake_modules/functions.cmake) checkCpp11Support() setBuildType() IF (WIN32) SET ( CMAKE_CONFIGURATION_TYPES Release Debug) SET ( CMAKE_CONFIGURATION_TYPES "${CMAKE_CONFIGURATION_TYPES}" CACHE STRING "Only Release or Debug" FORCE) SET ( CGoGN_WITH_QTCREATOR OFF CACHE BOOL "use QtCreator to compile (instead of Visual Studio" ) ENDIF () IF(WIN32) SET ( CMAKE_PREFIX_PATH ${CGoGN_ROOT_DIR}/windows_dependencies CACHE STRING "path to dependencies" ) ENDIF(WIN32) # # COMPILER FLAGS # IF(NOT WIN32) SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Wextra -fPIC -std=c++11") SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -Woverride-init -fPIC") # remove the 60000+ "no unused local typedefs" warnings with GCC4.8+ IF(CMAKE_COMPILER_IS_GNUCXX) SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-unused-local-typedefs") SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wno-unused-local-typedefs") ENDIF() IF(APPLE) set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-deprecated -Wno-overloaded-virtual") ENDIF() ENDIF() IF (WIN32) link_directories( ${CGoGN_ROOT_DIR}/windows_dependencies/lib/) IF((CGoGN_WITH_QTCREATOR)) link_directories( ${CGoGN_ROOT_DIR}/bin/${CMAKE_BUILD_TYPE}) SET(EXECUTABLE_OUTPUT_PATH ${CGoGN_ROOT_DIR}/bin/${CMAKE_BUILD_TYPE}) # Release/Debug added automatically by visual ELSE() link_directories( ${CGoGN_ROOT_DIR}/bin/${ConfigurationName}) SET(EXECUTABLE_OUTPUT_PATH ${CGoGN_ROOT_DIR}/bin/) # Release/Debug added automatically by visual ENDIF() ELSE() link_directories( ${CGoGN_ROOT_DIR}/lib/${CMAKE_BUILD_TYPE} ) IF(APPLE) SET(EXECUTABLE_OUTPUT_PATH ${CMAKE_CURRENT_SOURCE_DIR}/bin/${CMAKE_BUILD_TYPE}/Contents/MacOS/ ) ELSE() SET(EXECUTABLE_OUTPUT_PATH ${CMAKE_CURRENT_SOURCE_DIR}/bin/${CMAKE_BUILD_TYPE} ) ENDIF() ENDIF() # Qt version from CGoGN file(READ ${CGoGN_SRC_DIR}/include/cgogn_qt.h CGoGN_DESIRED_QT_VERSION) ADD_DEFINITIONS("-DCGOGN_QT_DESIRED_VERSION=${CGoGN_DESIRED_QT_VERSION}") IF(CGoGN_DESIRED_QT_VERSION STREQUAL 5) include(${CGoGN_ROOT_DIR}/cmake_modules/Qt_5x.cmake) ELSE() include(${CGoGN_ROOT_DIR}/cmake_modules/Qt_4x.cmake) ENDIF() # CGoGN compiled in one or several libs file(STRINGS ${CGoGN_SRC_DIR}/include/cgogn_onelib.h ONELIB_STR) IF (ONELIB_STR EQUAL 1) SET(CGoGN_LIBS cgogn) ELSE() SET(CGoGN_LIBS topology algo container utils) ENDIF() # definitions from CGoGN FILE(STRINGS ${CGoGN_SRC_DIR}/include/cgogn_defs.h CGoGN_DEFS) ADD_DEFINITIONS(${CGoGN_DEFS}) # includes from CGoGN FILE(STRINGS ${CGoGN_SRC_DIR}/include/cgogn_ext_includes.h CGoGN_EXT_INCLUDES) # libs from CGoGN FILE(STRINGS ${CGoGN_SRC_DIR}/include/cgogn_ext_libs.h CGoGN_EXT_LIBS) include_directories( ${CGoGN_SRC_DIR}/include ${CGoGN_EXT_INCLUDES}) #for compatibility SET (COMMON_INCLUDES ${CGoGN_EXT_INCLUDES}) SET (COMMON_LIBS ${CGoGN_EXT_LIBS})