X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;ds=sidebyside;f=CMakeLists.txt;h=603c830f87e2669bf76fcb80f65a38ebecabf035;hb=2aee9215533f30a664690b18b54659624f85d3a5;hp=0721332c079c3f227348b095ac173a05c3bbd4d7;hpb=755227d706c299ff72952ceda43ea8b184e0cfa1;p=simgear.git diff --git a/CMakeLists.txt b/CMakeLists.txt index 0721332c..603c830f 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -38,6 +38,9 @@ project(SimGear) file(READ version versionFile) string(STRIP ${versionFile} SIMGEAR_VERSION) +# add a dependency on the versino file +set_property(DIRECTORY APPEND PROPERTY CMAKE_CONFIGURE_DEPENDS version) + set(FIND_LIBRARY_USE_LIB64_PATHS ON) # use simgear version also as the SO version (if building SOs) @@ -149,14 +152,17 @@ endif (MSVC) if (MSVC AND MSVC_3RDPARTY_ROOT) message(STATUS "3rdparty files located in ${MSVC_3RDPARTY_ROOT}") + set( OSG_MSVC "msvc" ) - if (${MSVC_VERSION} EQUAL 1700) + if (${MSVC_VERSION} EQUAL 1900) + set( OSG_MSVC ${OSG_MSVC}140 ) + elseif (${MSVC_VERSION} EQUAL 1800) + set( OSG_MSVC ${OSG_MSVC}120 ) + elseif (${MSVC_VERSION} EQUAL 1700) set( OSG_MSVC ${OSG_MSVC}110 ) elseif (${MSVC_VERSION} EQUAL 1600) set( OSG_MSVC ${OSG_MSVC}100 ) - else (${MSVC_VERSION} EQUAL 1700) - set( OSG_MSVC ${OSG_MSVC}90 ) - endif (${MSVC_VERSION} EQUAL 1700) + endif () if (CMAKE_CL_64) set( OSG_MSVC ${OSG_MSVC}-64 ) set( MSVC_3RDPARTY_DIR 3rdParty.x64 ) @@ -166,7 +172,11 @@ if (MSVC AND MSVC_3RDPARTY_ROOT) set (CMAKE_LIBRARY_PATH ${MSVC_3RDPARTY_ROOT}/${MSVC_3RDPARTY_DIR}/lib ${MSVC_3RDPARTY_ROOT}/install/${OSG_MSVC}/OpenScenegraph/lib ${MSVC_3RDPARTY_ROOT}/install/${OSG_MSVC}/OpenRTI/lib ) set (CMAKE_INCLUDE_PATH ${MSVC_3RDPARTY_ROOT}/${MSVC_3RDPARTY_DIR}/include ${MSVC_3RDPARTY_ROOT}/install/${OSG_MSVC}/OpenScenegraph/include ${MSVC_3RDPARTY_ROOT}/install/${OSG_MSVC}/OpenRTI/include) + + GET_FILENAME_COMPONENT(MSVC_ROOT_PARENT_DIR ${MSVC_3RDPARTY_ROOT} PATH) find_path(BOOST_ROOT boost/version.hpp + PATHS + ${MSVC_ROOT_PARENT_DIR} ${MSVC_3RDPARTY_ROOT}/boost ${MSVC_3RDPARTY_ROOT}/boost_1_52_0 ${MSVC_3RDPARTY_ROOT}/boost_1_51_0 @@ -354,15 +364,18 @@ if(WIN32) endif() if(MSVC) - # turn off various warnings - # foreach(warning 4244 4251 4267 4275 4290 4786 4305 4996) - # SET(WARNING_FLAGS "${WARNING_FLAGS} /wd${warning}") - # endforeach(warning) + set(MSVC_FLAGS "-DWIN32 -DNOMINMAX -D_USE_MATH_DEFINES -D_CRT_SECURE_NO_WARNINGS -D__CRT_NONSTDC_NO_WARNINGS /MP") - set(MSVC_FLAGS "-DWIN32 -DNOMINMAX -D_USE_MATH_DEFINES -D_CRT_SECURE_NO_WARNINGS -D__CRT_NONSTDC_NO_WARNINGS /wd4996 /wd4250 -Dstrdup=_strdup") if (${MSVC_VERSION} GREATER 1599) + # needed to avoid link errors on multiply-defined standard C++ + # symbols. Suspect this may be an OSG-DB export bug set( MSVC_LD_FLAGS "/FORCE:MULTIPLE" ) endif (${MSVC_VERSION} GREATER 1599) + + if (${MSVC_VERSION} GREATER 1899) + # needed for debug builds with VS2015 + set( MSVC_FLAGS "${MSVC_FLAGS} /bigobj" ) + endif() endif(MSVC) # assumed on Windows @@ -385,7 +398,7 @@ include_directories(BEFORE ${PROJECT_BINARY_DIR}/simgear) include_directories(${OPENSCENEGRAPH_INCLUDE_DIRS} ${Boost_INCLUDE_DIRS} ${ZLIB_INCLUDE_DIR} - ${OPENAL_INCLUDE_DIRS} + ${OPENAL_INCLUDE_DIR} ${CURL_INCLUDE_DIRS} )