]> git.mxchange.org Git - flightgear.git/blob - CMakeModules/ConfigureMsvc3rdParty.cmake
initial commit for a python based terrasync client
[flightgear.git] / CMakeModules / ConfigureMsvc3rdParty.cmake
1 # ConfigureMsvc3rdParty.cmake - Configure 3rd Party Library Paths on Windows
2
3 if (MSVC)
4     GET_FILENAME_COMPONENT(PARENT_DIR ${PROJECT_BINARY_DIR} PATH)
5     if (CMAKE_CL_64)
6         SET(TEST_3RDPARTY_DIR "${PARENT_DIR}/3rdparty.x64")
7     else (CMAKE_CL_64)
8         SET(TEST_3RDPARTY_DIR "${PARENT_DIR}/3rdparty")
9     endif (CMAKE_CL_64)
10     if (EXISTS ${TEST_3RDPARTY_DIR})
11         set(MSVC_3RDPARTY_ROOT ${PARENT_DIR} CACHE PATH "Location where the third-party dependencies are extracted")
12     else (EXISTS ${TEST_3RDPARTY_DIR})
13         set(MSVC_3RDPARTY_ROOT NOT_FOUND CACHE PATH "Location where the third-party dependencies are extracted")
14     endif (EXISTS ${TEST_3RDPARTY_DIR})
15     list(APPEND PLATFORM_LIBS "winmm.lib")
16 else (MSVC)
17     set(MSVC_3RDPARTY_ROOT NOT_FOUND CACHE PATH "Location where the third-party dependencies are extracted")
18 endif (MSVC)
19
20 if (MSVC AND MSVC_3RDPARTY_ROOT)
21     message(STATUS "3rdparty files located in ${MSVC_3RDPARTY_ROOT}")
22     set( OSG_MSVC "msvc" )
23     if (${MSVC_VERSION} EQUAL 1900)
24       set( OSG_MSVC ${OSG_MSVC}140 )
25   elseif (${MSVC_VERSION} EQUAL 1800)
26       set( OSG_MSVC ${OSG_MSVC}120 )
27   elseif (${MSVC_VERSION} EQUAL 1700)
28       set( OSG_MSVC ${OSG_MSVC}110 )
29   elseif (${MSVC_VERSION} EQUAL 1600)
30       set( OSG_MSVC ${OSG_MSVC}100 )
31   endif ()
32
33     if (CMAKE_CL_64)
34         set( OSG_MSVC ${OSG_MSVC}-64 )
35         set( MSVC_3RDPARTY_DIR 3rdParty.x64 )
36                     set( BOOST_LIB lib64 )
37     else (CMAKE_CL_64)
38         set( MSVC_3RDPARTY_DIR 3rdParty )
39                 set( BOOST_LIB lib )
40     endif (CMAKE_CL_64)
41
42     GET_FILENAME_COMPONENT(MSVC_ROOT_PARENT_DIR ${MSVC_3RDPARTY_ROOT} PATH)
43     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 ${MSVC_3RDPARTY_ROOT}/install/${OSG_MSVC}/SimGear/lib $(BOOST_ROOT)/$(BOOST_LIB) )
44     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 ${MSVC_3RDPARTY_ROOT}/install/${OSG_MSVC}/SimGear/include)
45     find_path(BOOST_ROOT boost/version.hpp
46       ${MSVC_ROOT_PARENT_DIR}
47                         ${MSVC_3RDPARTY_ROOT}/boost
48                         ${MSVC_3RDPARTY_ROOT}/boost_1_52_0
49                         ${MSVC_3RDPARTY_ROOT}/boost_1_51_0
50                         ${MSVC_3RDPARTY_ROOT}/boost_1_50_0
51                         ${MSVC_3RDPARTY_ROOT}/boost_1_49_0
52                         ${MSVC_3RDPARTY_ROOT}/boost_1_48_0
53                         ${MSVC_3RDPARTY_ROOT}/boost_1_47_0
54                         ${MSVC_3RDPARTY_ROOT}/boost_1_46_1
55                         ${MSVC_3RDPARTY_ROOT}/boost_1_46_0
56                         ${MSVC_3RDPARTY_ROOT}/boost_1_45_0
57                         ${MSVC_3RDPARTY_ROOT}/boost_1_44_0
58                         )
59     message(STATUS "BOOST_ROOT is ${BOOST_ROOT}")
60     if (USE_AEONWAVE)
61       find_package(AAX COMPONENTS aax REQUIRED)
62     else()
63       set (OPENAL_INCLUDE_DIR ${MSVC_3RDPARTY_ROOT}/${MSVC_3RDPARTY_DIR}/include)
64       set (OPENAL_LIBRARY_DIR ${MSVC_3RDPARTY_ROOT}/${MSVC_3RDPARTY_DIR}/lib)
65     endif()
66 endif (MSVC AND MSVC_3RDPARTY_ROOT)