CMakeLists.txt 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. PROJECT(VSExternalInclude)
  2. IF(${CMAKE_GENERATOR} MATCHES "Visual Studio 6")
  3. SET(PROJECT_EXT dsp)
  4. ELSE(${CMAKE_GENERATOR} MATCHES "Visual Studio 6")
  5. SET(PROJECT_EXT vcproj)
  6. ENDIF(${CMAKE_GENERATOR} MATCHES "Visual Studio 6")
  7. # make sure directories exists
  8. SET(LIB1_BINARY_DIR ${VSExternalInclude_BINARY_DIR}/Lib1)
  9. MAKE_DIRECTORY("${LIB1_BINARY_DIR}")
  10. SET(LIB2_BINARY_DIR ${VSExternalInclude_BINARY_DIR}/Lib2)
  11. MAKE_DIRECTORY("${LIB2_BINARY_DIR}")
  12. # generate lib1
  13. EXEC_PROGRAM("${CMAKE_COMMAND}" "${LIB1_BINARY_DIR}" ARGS -G\"${CMAKE_GENERATOR}\"
  14. \"${VSExternalInclude_SOURCE_DIR}/Lib1\" OUTPUT_VARIABLE OUT)
  15. MESSAGE("CMAKE Ran with the following output:\n\"${OUT}\"")
  16. # generate lib2
  17. EXEC_PROGRAM("${CMAKE_COMMAND}" "${LIB2_BINARY_DIR}" ARGS -G\"${CMAKE_GENERATOR}\"
  18. \"${VSExternalInclude_SOURCE_DIR}/Lib2\" OUTPUT_VARIABLE OUT)
  19. MESSAGE("CMAKE Ran with the following output:\n\"${OUT}\"")
  20. INCLUDE_EXTERNAL_MSPROJECT(lib1 ${VSExternalInclude_BINARY_DIR}/Lib1/LIB1.${PROJECT_EXT})
  21. # lib2 depends on lib1
  22. INCLUDE_EXTERNAL_MSPROJECT(lib2 ${VSExternalInclude_BINARY_DIR}/Lib2/LIB2.${PROJECT_EXT} lib1)
  23. INCLUDE_DIRECTORIES(${VSExternalInclude_SOURCE_DIR}/Lib2 ${VSExternalInclude_SOURCE_DIR}/Lib1)
  24. SET(SOURCES main.cpp)
  25. ADD_EXECUTABLE(VSExternalInclude ${SOURCES})
  26. # target depends on lib2
  27. ADD_DEPENDENCIES(VSExternalInclude lib2)