|
@@ -0,0 +1,38 @@
|
|
|
|
|
+PROJECT(VSExternalInclude)
|
|
|
|
|
+
|
|
|
|
|
+IF(${CMAKE_GENERATOR} MATCHES "Visual Studio 6")
|
|
|
|
|
+SET(PROJECT_EXT dps)
|
|
|
|
|
+ELSE(${CMAKE_GENERATOR} MATCHES "Visual Studio 6")
|
|
|
|
|
+SET(PROJECT_EXT vcproj)
|
|
|
|
|
+ENDIF(${CMAKE_GENERATOR} MATCHES "Visual Studio 6")
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+# make sure directories exists
|
|
|
|
|
+SET(LIB1_BINARY_DIR ${VSExternalInclude_BINARY_DIR}/Lib1)
|
|
|
|
|
+MAKE_DIRECTORY("${LIB1_BINARY_DIR}")
|
|
|
|
|
+
|
|
|
|
|
+SET(LIB2_BINARY_DIR ${VSExternalInclude_BINARY_DIR}/Lib2)
|
|
|
|
|
+MAKE_DIRECTORY("${LIB2_BINARY_DIR}")
|
|
|
|
|
+
|
|
|
|
|
+# generate lib1
|
|
|
|
|
+EXEC_PROGRAM("${CMAKE_COMMAND}" "${LIB1_BINARY_DIR}" ARGS -G\"${CMAKE_GENERATOR}\"
|
|
|
|
|
+ \"${VSExternalInclude_SOURCE_DIR}/Lib1\" OUTPUT_VARIABLE OUT)
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+# generate lib2
|
|
|
|
|
+EXEC_PROGRAM("${CMAKE_COMMAND}" "${LIB2_BINARY_DIR}" ARGS -G\"${CMAKE_GENERATOR}\"
|
|
|
|
|
+ \"${VSExternalInclude_SOURCE_DIR}/Lib2\" OUTPUT_VARIABLE OUT)
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+INCLUDE_EXTERNAL_MSPROJECT(lib1 ${VSExternalInclude_BINARY_DIR}/Lib1/LIB1.${PROJECT_EXT})
|
|
|
|
|
+# lib2 depends on lib1
|
|
|
|
|
+INCLUDE_EXTERNAL_MSPROJECT(lib2 ${VSExternalInclude_BINARY_DIR}/Lib2/LIB2.${PROJECT_EXT} lib1)
|
|
|
|
|
+
|
|
|
|
|
+INCLUDE_DIRECTORIES(${VSExternalInclude_SOURCE_DIR}/Lib2 ${VSExternalInclude_SOURCE_DIR}/Lib1)
|
|
|
|
|
+
|
|
|
|
|
+SET(SOURCES main.cpp)
|
|
|
|
|
+
|
|
|
|
|
+ADD_EXECUTABLE(VSExternalInclude ${SOURCES})
|
|
|
|
|
+
|
|
|
|
|
+# target depends on lib1
|
|
|
|
|
+ADD_DEPENDENCIES(VSExternalInclude lib2)
|