Free cookie consent management tool by TermsFeed Policy Generator

source: branches/2915-AbsoluteSymbol/HeuristicLab.ExtLibs/HeuristicLab.NativeInterpreter/0.1/NativeInterpreter-0.1/CMakeLists.txt @ 16350

Last change on this file since 16350 was 16350, checked in by gkronber, 6 years ago

#2915: merged r16333:16343 from trunk to branch (resolving a conflict in interpreter.h - the branch for sqrt)

File size: 1.5 KB
Line 
1cmake_minimum_required(VERSION 3.0)
2
3project(
4    hl-native-interpreter
5    VERSION 0.1
6    DESCRIPTION "Native C++ interpreter for HeuristicLab symbolic expression trees"
7    LANGUAGES CXX
8)
9
10add_library(hl-native-interpreter SHARED src/interpreter.cpp)
11target_include_directories(hl-native-interpreter PRIVATE ${PROJECT_SOURCE_DIR}/src ${PROJECT_SOURCE_DIR}/lib)
12target_compile_features(hl-native-interpreter PRIVATE cxx_std_17)
13
14add_library(hl-native-interpreter-vdt SHARED src/interpreter.cpp)
15target_include_directories(hl-native-interpreter-vdt PRIVATE ${PROJECT_SOURCE_DIR}/src ${PROJECT_SOURCE_DIR}/lib)
16target_compile_features(hl-native-interpreter-vdt PRIVATE cxx_std_17)
17
18if(MSVC)
19    target_compile_options(hl-native-interpreter PRIVATE "/W4" "/Qvec-report:2" "/MT" "$<$<CONFIG:Release>:/O2>")
20    target_compile_options(hl-native-interpreter-vdt PRIVATE "/W4" "/Qvec-report:2" "/MT" "$<$<CONFIG:Release>:/O2>")
21    target_compile_definitions(hl-native-interpreter-vdt PRIVATE "USE_VDT")
22else()
23    target_compile_options(hl-native-interpreter PRIVATE "-Wall" "-Wextra" "-Werror" "-fopt-info-vec-optimized" "$<$<CONFIG:Release>:-O3;-march=x86-64>")
24    target_compile_options(hl-native-interpreter-vdt PRIVATE "-Wall" "-Wextra" "-Werror" "-fopt-info-vec-optimized" "$<$<CONFIG:Release>:-O3;-march=x86-64>")
25    target_compile_definitions(hl-native-interpreter-vdt PRIVATE "USE_VDT")
26    set_target_properties(hl-native-interpreter PROPERTIES PREFIX "")
27    set_target_properties(hl-native-interpreter-vdt PROPERTIES PREFIX "")
28endif()
Note: See TracBrowser for help on using the repository browser.