70 ENDIF() |
70 ENDIF() |
71 SET(LEMON_CXX_WARNING_FLAGS ${CXX_WARNING} CACHE STRING "LEMON warning flags.") |
71 SET(LEMON_CXX_WARNING_FLAGS ${CXX_WARNING} CACHE STRING "LEMON warning flags.") |
72 |
72 |
73 SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${LEMON_CXX_WARNING_FLAGS}") |
73 SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${LEMON_CXX_WARNING_FLAGS}") |
74 |
74 |
|
75 SET( CMAKE_CXX_FLAGS_MAINTAINER "-Werror -ggdb" CACHE STRING |
|
76 "Flags used by the C++ compiler during maintainer builds." |
|
77 FORCE ) |
|
78 SET( CMAKE_C_FLAGS_MAINTAINER "-Werror" CACHE STRING |
|
79 "Flags used by the C compiler during maintainer builds." |
|
80 FORCE ) |
|
81 SET( CMAKE_EXE_LINKER_FLAGS_MAINTAINER |
|
82 "-Wl,--warn-unresolved-symbols,--warn-once" CACHE STRING |
|
83 "Flags used for linking binaries during maintainer builds." |
|
84 FORCE ) |
|
85 SET( CMAKE_SHARED_LINKER_FLAGS_MAINTAINER |
|
86 "-Wl,--warn-unresolved-symbols,--warn-once" CACHE STRING |
|
87 "Flags used by the shared libraries linker during maintainer builds." |
|
88 FORCE ) |
|
89 MARK_AS_ADVANCED( |
|
90 CMAKE_CXX_FLAGS_MAINTAINER |
|
91 CMAKE_C_FLAGS_MAINTAINER |
|
92 CMAKE_EXE_LINKER_FLAGS_MAINTAINER |
|
93 CMAKE_SHARED_LINKER_FLAGS_MAINTAINER ) |
|
94 |
|
95 IF(CMAKE_CONFIGURATION_TYPES) |
|
96 LIST(APPEND CMAKE_CONFIGURATION_TYPES Maintainer) |
|
97 LIST(REMOVE_DUPLICATES CMAKE_CONFIGURATION_TYPES) |
|
98 SET(CMAKE_CONFIGURATION_TYPES "${CMAKE_CONFIGURATION_TYPES}" CACHE STRING |
|
99 "Add the configurations that we need" |
|
100 FORCE) |
|
101 endif() |
|
102 |
75 IF(NOT CMAKE_BUILD_TYPE) |
103 IF(NOT CMAKE_BUILD_TYPE) |
76 SET(CMAKE_BUILD_TYPE "Release" CACHE STRING "Choose the type of build, options are: None(CMAKE_CXX_FLAGS or CMAKE_C_FLAGS used) Debug Release RelWithDebInfo MinSizeRel." FORCE) |
104 SET(CMAKE_BUILD_TYPE "Release") |
77 ENDIF() |
105 ENDIF() |
|
106 |
|
107 SET( CMAKE_BUILD_TYPE "${CMAKE_BUILD_TYPE}" CACHE STRING |
|
108 "Choose the type of build, options are: None(CMAKE_CXX_FLAGS or CMAKE_C_FLAGS used) Debug Release RelWithDebInfo MinSizeRel Maintainer." |
|
109 FORCE ) |
78 |
110 |
79 |
111 |
80 INCLUDE(CheckTypeSize) |
112 INCLUDE(CheckTypeSize) |
81 CHECK_TYPE_SIZE("long long" LONG_LONG) |
113 CHECK_TYPE_SIZE("long long" LONG_LONG) |
82 SET(LEMON_HAVE_LONG_LONG ${HAVE_LONG_LONG}) |
114 SET(LEMON_HAVE_LONG_LONG ${HAVE_LONG_LONG}) |
83 |
115 |
84 ENABLE_TESTING() |
116 ENABLE_TESTING() |
85 |
117 |
86 ADD_CUSTOM_TARGET(check COMMAND ${CMAKE_CTEST_COMMAND}) |
118 IF(${CMAKE_BUILD_TYPE} STREQUAL "Maintainer") |
|
119 ADD_CUSTOM_TARGET(check ALL COMMAND ${CMAKE_CTEST_COMMAND}) |
|
120 ELSE() |
|
121 ADD_CUSTOM_TARGET(check COMMAND ${CMAKE_CTEST_COMMAND}) |
|
122 ENDIF() |
87 |
123 |
88 ADD_SUBDIRECTORY(lemon) |
124 ADD_SUBDIRECTORY(lemon) |
89 IF(${CMAKE_SOURCE_DIR} STREQUAL ${PROJECT_SOURCE_DIR}) |
125 IF(${CMAKE_SOURCE_DIR} STREQUAL ${PROJECT_SOURCE_DIR}) |
90 ADD_SUBDIRECTORY(demo) |
126 ADD_SUBDIRECTORY(demo) |
91 ADD_SUBDIRECTORY(tools) |
127 ADD_SUBDIRECTORY(tools) |