CMakeLists.txt 2.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283
  1. CMAKE_MINIMUM_REQUIRED(VERSION 1.3)
  2. #
  3. # Create exe.
  4. #
  5. SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DTEST_CXX_FLAGS")
  6. # Link to CMake lib
  7. LINK_DIRECTORIES(${Complex_BINARY_DIR}/../../Source)
  8. LINK_DIRECTORIES(${Complex_BINARY_DIR}/../../Source/kwsys)
  9. LINK_DIRECTORIES(${Complex_BINARY_DIR}/../../Utilities/cmexpat)
  10. LINK_DIRECTORIES(${Complex_BINARY_DIR}/../../Utilities/cmzlib)
  11. # Use LINK_LIBRARIES instead of TARGET_LINK_LIBRARIES to
  12. SET(COMPLEX_LIBS CMakeTestLibrary;CMakeTestLibraryShared;CMakeTestCLibraryShared)
  13. LINK_LIBRARIES(${COMPLEX_LIBS})
  14. ADD_EXECUTABLE(A A.cxx)
  15. ADD_EXECUTABLE(complex complex)
  16. ADD_EXECUTABLE(complex.file complex.file.cxx)
  17. TARGET_LINK_LIBRARIES(complex CMakeLib cmsys cmexpat cmzlib)
  18. IF (UNIX)
  19. TARGET_LINK_LIBRARIES(complex ${CMAKE_DL_LIBS})
  20. ELSE(UNIX)
  21. IF (NOT BORLAND)
  22. IF(NOT MINGW)
  23. TARGET_LINK_LIBRARIES(complex rpcrt4.lib)
  24. ENDIF(NOT MINGW)
  25. ENDIF(NOT BORLAND)
  26. ENDIF (UNIX)
  27. # Test pre-build/pre-link/post-build rules for an executable.
  28. ADD_CUSTOM_COMMAND(TARGET complex PRE_BUILD
  29. COMMAND ${CREATE_FILE_EXE}
  30. ARGS "${Complex_BINARY_DIR}/Executable/prebuild.txt")
  31. ADD_CUSTOM_COMMAND(TARGET complex PRE_BUILD
  32. COMMAND ${CREATE_FILE_EXE}
  33. ARGS "${Complex_BINARY_DIR}/Executable/prelink.txt")
  34. ADD_CUSTOM_COMMAND(TARGET complex POST_BUILD
  35. COMMAND ${CREATE_FILE_EXE}
  36. ARGS "${Complex_BINARY_DIR}/Executable/postbuild.txt")
  37. ADD_CUSTOM_COMMAND(TARGET complex POST_BUILD
  38. COMMAND ${CMAKE_COMMAND}
  39. ARGS -E copy
  40. "${Complex_BINARY_DIR}/Executable/postbuild.txt"
  41. "${Complex_BINARY_DIR}/Executable/postbuild2.txt")
  42. SET_SOURCE_FILES_PROPERTIES(complex
  43. COMPILE_FLAGS "-DFILE_HAS_EXTRA_COMPILE_FLAGS"
  44. OBJECT_DEPENDS ${Complex_BINARY_DIR}/cmTestGeneratedHeader.h
  45. )
  46. ADD_CUSTOM_COMMAND(
  47. TARGET complex
  48. SOURCE ${Complex_SOURCE_DIR}/cmTestGeneratedHeader.h.in
  49. COMMAND ${CMAKE_COMMAND}
  50. ARGS -E copy ${Complex_SOURCE_DIR}/cmTestGeneratedHeader.h.in
  51. ${Complex_BINARY_DIR}/cmTestGeneratedHeader.h
  52. OUTPUTS ${Complex_BINARY_DIR}/cmTestGeneratedHeader.h
  53. DEPENDS ${CMAKE_COMMAND}
  54. )
  55. #
  56. # Output the files required by 'complex' to a file.
  57. #
  58. # This test has been moved to the 'required' subdir so that it
  59. # has no side-effects on the current Makefile (duplicated source file
  60. # due to source list expansion done twice).
  61. #
  62. SUBDIRS(Temp)
  63. #
  64. # Extra coverage.Not used.
  65. #
  66. INSTALL_TARGETS(/tmp complex)
  67. INSTALL_PROGRAMS(/tmp complex)
  68. CONFIGURE_FILE(
  69. ${Complex_SOURCE_DIR}/Executable/cmVersion.h.in
  70. ${Complex_BINARY_DIR}/cmVersion.h)
  71. SOURCE_GROUP(A_GROUP ".cxx")
  72. SOURCE_GROUP(B_GROUP REGULAR_EXPRESSION "cxx")
  73. SOURCE_GROUP(C_GROUP FILES complex.cxx)