1 cmake_minimum_required (VERSION 2.6)
2 PROJECT(VSExternalInclude)
4 IF(${CMAKE_GENERATOR} MATCHES "Visual Studio 6")
6 ELSE(${CMAKE_GENERATOR} MATCHES "Visual Studio 6")
7 SET(PROJECT_EXT vcproj)
8 ENDIF(${CMAKE_GENERATOR} MATCHES "Visual Studio 6")
11 # make sure directories exists
12 SET(LIB1_BINARY_DIR ${VSExternalInclude_BINARY_DIR}/Lib1)
13 MAKE_DIRECTORY("${LIB1_BINARY_DIR}")
15 SET(LIB2_BINARY_DIR ${VSExternalInclude_BINARY_DIR}/Lib2)
16 MAKE_DIRECTORY("${LIB2_BINARY_DIR}")
19 EXEC_PROGRAM("${CMAKE_COMMAND}" "${LIB1_BINARY_DIR}" ARGS -G\"${CMAKE_GENERATOR}\"
20 \"${VSExternalInclude_SOURCE_DIR}/Lib1\" OUTPUT_VARIABLE OUT)
21 MESSAGE("CMAKE Ran with the following output:\n\"${OUT}\"")
24 EXEC_PROGRAM("${CMAKE_COMMAND}" "${LIB2_BINARY_DIR}" ARGS -G\"${CMAKE_GENERATOR}\"
25 \"${VSExternalInclude_SOURCE_DIR}/Lib2\" OUTPUT_VARIABLE OUT)
26 MESSAGE("CMAKE Ran with the following output:\n\"${OUT}\"")
29 INCLUDE_EXTERNAL_MSPROJECT(lib1 ${VSExternalInclude_BINARY_DIR}/Lib1/LIB1.${PROJECT_EXT})
30 # lib2 depends on lib1
31 INCLUDE_EXTERNAL_MSPROJECT(lib2 ${VSExternalInclude_BINARY_DIR}/Lib2/LIB2.${PROJECT_EXT} lib1)
33 INCLUDE_DIRECTORIES(${VSExternalInclude_SOURCE_DIR}/Lib2 ${VSExternalInclude_SOURCE_DIR}/Lib1)
37 ADD_EXECUTABLE(VSExternalInclude ${SOURCES})
39 # target depends on lib2
40 ADD_DEPENDENCIES(VSExternalInclude lib2)