213.1.30
by Peter G. Jensen
commit removing old files, swithing to propper CMAKE |
1 |
cmake_minimum_required(VERSION 3.9) |
2 |
cmake_policy(SET CMP0048 NEW) |
|
3 |
cmake_policy(SET CMP0069 NEW) |
|
4 |
||
5 |
set(CMAKE_CXX_STANDARD 17) |
|
6 |
if (NOT CMAKE_BUILD_TYPE) |
|
7 |
set(CMAKE_BUILD_TYPE Release) |
|
8 |
endif (NOT CMAKE_BUILD_TYPE) |
|
9 |
||
213.1.42
by Peter G. Jensen
switching to glpk instead of lpsolve |
10 |
if (CMAKE_BUILD_TYPE MATCHES Release) |
213.1.146
by srba.jiri at gmail
allowed compilation for Mac |
11 |
if (NOT APPLE) |
12 |
set(CMAKE_INTERPROCEDURAL_OPTIMIZATION TRUE) |
|
13 |
endif () |
|
213.1.42
by Peter G. Jensen
switching to glpk instead of lpsolve |
14 |
endif () |
213.1.30
by Peter G. Jensen
commit removing old files, swithing to propper CMAKE |
15 |
set(CMAKE_POSITION_INDEPENDENT_CODE ON) |
16 |
||
213.1.39
by Peter G. Jensen
more cmake hacking, adding versioning and conditional |
17 |
|
231.1.15
by srba.jiri at gmail
increased version number to 4.1.0 (new unfolding approach and added heuristic search for LTL) |
18 |
set(VERIFYPN_VERSION 4.1.0) |
213.1.39
by Peter G. Jensen
more cmake hacking, adding versioning and conditional |
19 |
add_compile_definitions(VERIFYPN_VERSION=\"${VERIFYPN_VERSION}\") |
20 |
||
21 |
project(verifypn VERSION ${VERIFYPN_VERSION} LANGUAGES CXX C) |
|
213.1.30
by Peter G. Jensen
commit removing old files, swithing to propper CMAKE |
22 |
|
230.1.20
by Peter G. Jensen
readded static compilation |
23 |
option(VERIFYPN_Static "Link libraries statically" ON) |
24 |
option(VERIFYPN_MC_Simplification "Enables multicore simplification, incompatible with static linking" OFF) |
|
213.1.30
by Peter G. Jensen
commit removing old files, swithing to propper CMAKE |
25 |
option(VERIFYPN_GetDependencies "Fetch external dependencies from web." ON) |
26 |
||
230.1.20
by Peter G. Jensen
readded static compilation |
27 |
|
28 |
if (VERIFYPN_Static) |
|
29 |
set(BUILD_SHARED_LIBS OFF) |
|
30 |
if (VERIFYPN_MC_Simplification) |
|
31 |
message( FATAL_ERROR "Multicore Simplification is not compatible with static linking" ) |
|
32 |
endif(VERIFYPN_MC_Simplification) |
|
33 |
if (NOT APPLE) |
|
34 |
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -static") |
|
35 |
endif(NOT APPLE) |
|
36 |
endif (VERIFYPN_Static) |
|
197.3.20
by Andreas Klostergaard
Added CMake support. |
37 |
|
213.1.39
by Peter G. Jensen
more cmake hacking, adding versioning and conditional |
38 |
if (VERIFYPN_MC_Simplification) |
39 |
add_compile_definitions(VERIFYPN_MC_Simplification) |
|
40 |
endif(VERIFYPN_MC_Simplification) |
|
41 |
||
209.1.1
by Andreas Klostergaard
First attempt at improving unfolding |
42 |
if (UNIX AND NOT APPLE) |
213.1.30
by Peter G. Jensen
commit removing old files, swithing to propper CMAKE |
43 |
set(ARCH_TYPE "linux64") |
197.3.20
by Andreas Klostergaard
Added CMake support. |
44 |
elseif(APPLE) |
213.1.30
by Peter G. Jensen
commit removing old files, swithing to propper CMAKE |
45 |
set(ARCH_TYPE "osx64") |
230.1.26
by srba.jiri at gmail
updated CMake files to compile for mac |
46 |
set(CMAKE_OSX_DEPLOYMENT_TARGET 10.8) |
47 |
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -m64 ") |
|
48 |
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -m64 ") |
|
197.3.20
by Andreas Klostergaard
Added CMake support. |
49 |
else() |
213.1.30
by Peter G. Jensen
commit removing old files, swithing to propper CMAKE |
50 |
set(ARCH_TYPE "win64") |
197.3.20
by Andreas Klostergaard
Added CMake support. |
51 |
endif () |
52 |
||
230.2.4
by Peter G. Jensen
simplifying spot/bddx linking |
53 |
set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -s -Wall -pedantic-errors -O3 -DNDEBUG") |
226.9.1
by Nikolaj Jensen Ulrik
Enable trace generation in Tarjan (still buggy), fix some (final?) incorrect answers |
54 |
set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -O0 -fno-omit-frame-pointer") |
230.2.6
by Peter G. Jensen
better compile options for spot |
55 |
set(CMAKE_EXE_LINKER_FLAGS_RELEASE "${CMAKE_EXE_LINKER_FLAGS_RELEASE} -O3 -DNDEBUG") |
230.1.20
by Peter G. Jensen
readded static compilation |
56 |
if (VERIFYPN_Static AND NOT APPLE) |
57 |
set(CMAKE_EXE_LINKER_FLAGS_RELEASE "${CMAKE_EXE_LINKER_FLAGS_RELEASE} -static") |
|
58 |
endif() |
|
213.1.30
by Peter G. Jensen
commit removing old files, swithing to propper CMAKE |
59 |
|
60 |
set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib) |
|
61 |
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib) |
|
62 |
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin) |
|
63 |
||
64 |
if (VERIFYPN_GetDependencies) |
|
65 |
# setup for external imports
|
|
66 |
include(ExternalProject) |
|
67 |
set(EXTERNAL_INSTALL_LOCATION ${CMAKE_BINARY_DIR}/external) |
|
68 |
||
213.1.35
by Peter G. Jensen
using ptries from official distribution-chan |
69 |
ExternalProject_add(ptrie-ext |
70 |
GIT_REPOSITORY https://github.com/petergjoel/ptrie |
|
213.1.37
by Peter G. Jensen
better handling in cmake |
71 |
GIT_TAG 230b3640bfbe2ed5befdafbaf17bd3804231b50f |
213.1.35
by Peter G. Jensen
using ptries from official distribution-chan |
72 |
CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${EXTERNAL_INSTALL_LOCATION} -DPTRIE_BuildTest=OFF -DCMAKE_BUILD_TYPE=Release |
73 |
)
|
|
213.1.30
by Peter G. Jensen
commit removing old files, swithing to propper CMAKE |
74 |
ExternalProject_add(rapidxml-ext |
75 |
URL https://downloads.sourceforge.net/project/rapidxml/rapidxml/rapidxml%201.13/rapidxml-1.13.zip |
|
76 |
URL_HASH SHA512=6c10583e6631ccdb0217d0a5381172cb4c1046226de6ef1acf398d85e81d145228e14c3016aefcd7b70a1db8631505b048d8b4f5d4b0dbf1811d2482eefdd265 |
|
77 |
BUILD_COMMAND "" |
|
78 |
CONFIGURE_COMMAND mkdir -p ${CMAKE_BINARY_DIR}/external/include |
|
79 |
INSTALL_COMMAND cd ../rapidxml-ext && ${CMAKE_COMMAND} -E copy rapidxml.hpp rapidxml_iterators.hpp rapidxml_print.hpp rapidxml_utils.hpp ${EXTERNAL_INSTALL_LOCATION}/include |
|
80 |
)
|
|
230.1.25
by Peter G. Jensen
trying to compile on mac |
81 |
if (UNIX AND NOT APPLE) |
82 |
ExternalProject_add(spot-ext |
|
83 |
URL http://www.lrde.epita.fr/dload/spot/spot-2.9.6.tar.gz |
|
84 |
URL_HASH SHA512=69ec8a3ce84b2c069bf40b8d2127e5085724c8e4ba88ffdefc3e2225f6334955959afd17bcfcde29fd6826d78d49a7f1303bd07ba756a8695473ff6cc5ade3a2 |
|
230.1.27
by srba.jiri at gmail
removed -j8 optino |
85 |
BUILD_COMMAND make |
230.2.27
by Simon Virenfeldt
Merge lp:verifypn |
86 |
CONFIGURE_COMMAND CC=${CMAKE_C_COMPILER} CXX=${CMAKE_CXX_COMPILER} <SOURCE_DIR>/configure --prefix ${EXTERNAL_INSTALL_LOCATION} --disable-python --disable-devel --disable-debug --disable-shared --enable-static --enable-c++17 CFLAGS=-flto CXXFLAGS=-flto LDFLAGS=-fuse-linker-plugin |
230.1.25
by Peter G. Jensen
trying to compile on mac |
87 |
INSTALL_COMMAND make install |
88 |
)
|
|
89 |
else () |
|
90 |
ExternalProject_add(spot-ext |
|
91 |
URL http://www.lrde.epita.fr/dload/spot/spot-2.9.6.tar.gz |
|
92 |
URL_HASH SHA512=69ec8a3ce84b2c069bf40b8d2127e5085724c8e4ba88ffdefc3e2225f6334955959afd17bcfcde29fd6826d78d49a7f1303bd07ba756a8695473ff6cc5ade3a2 |
|
230.1.27
by srba.jiri at gmail
removed -j8 optino |
93 |
BUILD_COMMAND make |
230.2.27
by Simon Virenfeldt
Merge lp:verifypn |
94 |
CONFIGURE_COMMAND CC=${CMAKE_C_COMPILER} CXX=${CMAKE_CXX_COMPILER} <SOURCE_DIR>/configure --prefix ${EXTERNAL_INSTALL_LOCATION} --disable-python --disable-devel --disable-debug --disable-shared --enable-static --enable-c++17 CFLAGS=${CMAKE_CXX_FLAGS} LDFLAGS=${CMAKE_LINKER_FLAGS} |
230.1.25
by Peter G. Jensen
trying to compile on mac |
95 |
INSTALL_COMMAND make install |
96 |
)
|
|
97 |
endif () |
|
226.4.2
by Nikolaj Jensen Ulrik
complete BuchiSuccessorGenerator |
98 |
|
213.3.1
by Kenneth Yrke Jørgensen
Added depend on glpk and switch for setting windows switch when cross compiling |
99 |
if (WIN32) #If windows 32 or 64 |
213.1.148
by Kenneth Yrke Jørgensen
Updated argeument for cross compile glpk for windows |
100 |
set(GLPK_CFLAGS "-D __WOE__ -O3" ) |
213.1.122
by Peter G. Jensen
fixing compile flags for glpk |
101 |
else(WIN32) |
213.1.148
by Kenneth Yrke Jørgensen
Updated argeument for cross compile glpk for windows |
102 |
set(GLPK_CFLAGS "-O3" ) |
213.3.1
by Kenneth Yrke Jørgensen
Added depend on glpk and switch for setting windows switch when cross compiling |
103 |
endif(WIN32) |
213.1.61
by Peter G. Jensen
added glpk as external dependency |
104 |
ExternalProject_add(glpk-ext |
105 |
URL https://ftp.gnu.org/gnu/glpk/glpk-4.65.tar.gz |
|
106 |
URL_HASH SHA512=997e8e599ff1718a08c66b86eadd0e01f4644899f1e95920f8ae91d66b4d8361021766b346845f4dcbcfe667b41ab72ea3d377017a0ebf85d7ece091cfd81375 |
|
213.1.148
by Kenneth Yrke Jørgensen
Updated argeument for cross compile glpk for windows |
107 |
CONFIGURE_COMMAND CC=${CMAKE_C_COMPILER} CXX=${CMAKE_CXX_COMPILER} <SOURCE_DIR>/configure --enable-shared=no --prefix=${EXTERNAL_INSTALL_LOCATION} CFLAGS=${GLPK_CFLAGS} |
213.1.122
by Peter G. Jensen
fixing compile flags for glpk |
108 |
BUILD_COMMAND make |
213.1.61
by Peter G. Jensen
added glpk as external dependency |
109 |
INSTALL_COMMAND make install |
213.1.118
by Peter G. Jensen
added patch to supress glpk warning |
110 |
PATCH_COMMAND patch -p1 < ${PROJECT_SOURCE_DIR}/glpk-warning.patch |
213.1.61
by Peter G. Jensen
added glpk as external dependency |
111 |
)
|
112 |
||
113 |
link_directories(${EXTERNAL_INSTALL_LOCATION}/lib) |
|
114 |
link_directories(${EXTERNAL_INSTALL_LOCATION}/lib64) |
|
115 |
||
213.1.30
by Peter G. Jensen
commit removing old files, swithing to propper CMAKE |
116 |
# we can now include external libraries
|
117 |
include_directories(${EXTERNAL_INSTALL_LOCATION}/include) |
|
118 |
endif (VERIFYPN_GetDependencies) |
|
119 |
include_directories(include) |
|
120 |
||
121 |
add_subdirectory(${CMAKE_SOURCE_DIR}/src/) |