CMakeLists.txt 2.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. project(Automoc4)
  2. cmake_minimum_required(VERSION 2.4.5 FATAL_ERROR)
  3. if(WIN32)
  4. # make cmake 2.6 happy
  5. if(COMMAND cmake_policy)
  6. cmake_policy(SET CMP0003 NEW)
  7. endif(COMMAND cmake_policy)
  8. endif(WIN32)
  9. include(CTest)
  10. find_package(Qt4 REQUIRED COMPONENTS QtCore )
  11. include(${QT_USE_FILE})
  12. if (CMAKE_COMPILER_IS_GNUCXX OR CMAKE_C_COMPILER MATCHES "icc")
  13. set ( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wnon-virtual-dtor -Wno-long-long -ansi -Wundef -Wcast-align -Wchar-subscripts -Wall -W -Wpointer-arith -Wformat-security -fno-check-new -fno-common")
  14. endif (CMAKE_COMPILER_IS_GNUCXX OR CMAKE_C_COMPILER MATCHES "icc")
  15. # set the current version number
  16. include(Automoc4Version.cmake)
  17. # set up packaging
  18. include(Automoc4CPack.cmake)
  19. configure_file(automoc4_config.h.in ${CMAKE_CURRENT_BINARY_DIR}/automoc4_config.h)
  20. if(MSVC AND AUTOMOC_STATIC)
  21. IF(EXISTS "${QT_MKSPECS_DIR}/default/qmake.conf")
  22. FILE(READ "${QT_MKSPECS_DIR}/default/qmake.conf" _qmake_FILE_contents)
  23. STRING(REGEX MATCH "QMAKE_CFLAGS_RELEASE[^\n]+" QMAKE_CFLAGS_RELEASE "${_qmake_FILE_contents}")
  24. ENDIF(EXISTS "${QT_MKSPECS_DIR}/default/qmake.conf")
  25. if (QMAKE_CFLAGS_RELEASE MATCHES ".*-MT.*")
  26. MESSAGE(STATUS "Qt is build in static mode with static runtime - use static build mode with static runtime too")
  27. set (MSVCRT_COMPILE_FLAGS "-MT /Os /Oy /GL")
  28. set (MSVCRT_LINK_FLAGS "/NODEFAULTLIB:msvcrt")
  29. else (QMAKE_CFLAGS_RELEASE MATCHES ".*-MT.*")
  30. set (MSVCRT_COMPILE_FLAGS "-MD")
  31. set (MSVCRT_LINK_FLAGS "")
  32. MESSAGE(STATUS "Qt is build in static mode using shared runtime - use static build mode too")
  33. endif (QMAKE_CFLAGS_RELEASE MATCHES ".*-MT.*")
  34. set (CMAKE_C_FLAGS_RELEASE "${MSVCRT_COMPILE_FLAGS} /O2 /Ob2 /D NDEBUG")
  35. set (CMAKE_CXX_FLAGS_RELEASE "${MSVCRT_COMPILE_FLAGS} /O2 /Ob2 /D NDEBUG")
  36. set (CMAKE_EXE_LINKER_FLAGS_RELEASE "/INCREMENTAL:NO ${MSVCRT_LINK_FLAGS}")
  37. endif(MSVC AND AUTOMOC_STATIC)
  38. # Always include srcdir and builddir in include path
  39. set(CMAKE_INCLUDE_CURRENT_DIR ON)
  40. include_directories(${QT_INCLUDE_DIR})
  41. add_executable(automoc4 kde4automoc.cpp)
  42. set_target_properties(automoc4 PROPERTIES SKIP_BUILD_RPATH FALSE
  43. INSTALL_RPATH_USE_LINK_PATH TRUE )
  44. target_link_libraries(automoc4 ${QT_LIBRARIES})
  45. install(TARGETS automoc4 DESTINATION bin)
  46. install(FILES Automoc4Config.cmake Automoc4Version.cmake automoc4.files.in DESTINATION lib${LIB_SUFFIX}/automoc4)