~verifypn-cpn/verifypn/cpn

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
cmake_minimum_required(VERSION 2.8.4)
project(verifypn)

if (UNIX)
    if (CMAKE_SIZEOF_VOID_P EQUAL 8) # is system 64-bit?
        set(ARCH_TYPE "linux64")
    else()
        set(ARCH_TYPE "linux32")
    endif ()
elseif(APPLE)
    if (CMAKE_SIZEOF_VOID_P EQUAL 8) # is system 64-bit?
        set(ARCH_TYPE "osx64")
    else()
        set(ARCH_TYPE "osx32")
    endif ()
else()
    if (CMAKE_CL_64)
        set(ARCH_TYPE "win64")
    else()
        set(ARCH_TYPE "win32")
    endif()
endif ()

set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fPIC -flto -march=x86-64 -std=c++14  -m64 -I.")
set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -Wall -pedantic-errors -O2 -DNDEBUG")
set(CMAKE_CXX_FLAGS_DEBUG  "${CMAKE_CXX_FLAGS_DEBUG} -g")

set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -flto=4 -march=x86-64 -std=c++14 -m64 -static -static-libgcc -static-libstdc++")
set(CMAKE_EXE_LINKER_FLAGS_RELEASE "${CMAKE_EXE_LINKER_FLAGS_RELEASE} -O2 -DNDEBUG")
set(CMAKE_EXE_LINKER_FLAGS_DEBUG "${CMAKE_EXE_LINKER_FLAGS_DEBUG} -g")

include_directories(PUBLIC .)

file(GLOB verifypn_SRC
        "*.h"
        "*.cpp"
        "**/*.cpp"
        "**/*.h"
        "**/**/*.cpp"
        "**/**/*.h"
)

add_executable(verifypn ${verifypn_SRC})
target_link_libraries(verifypn ${CMAKE_SOURCE_DIR}/lpsolve/liblpsolve55-${ARCH_TYPE}.a)