|
| 1 | +cmake_minimum_required(VERSION 2.8) |
| 2 | + |
| 3 | +PROJECT(To_VTK4) |
| 4 | + |
| 5 | +# CPU Objects |
| 6 | + |
| 7 | +set(OBJXML JXml.cpp tinystr.cpp tinyxml.cpp tinyxmlerror.cpp tinyxmlparser.cpp) |
| 8 | +set(OBCOMMON Functions.cpp FunctionsGeo3d.cpp JBinaryData.cpp JDataArrays.cpp JException.cpp JObject.cpp JOutputCsv.cpp JPartDataBi4.cpp JPartDataHead.cpp JRangeFilter.cpp JSpaceCtes.cpp JSpaceEParms.cpp JSpaceParts.cpp) |
| 9 | +set(OBCODE JCfgRun.cpp main.cpp) |
| 10 | + |
| 11 | +# Static libraries linker path |
| 12 | + |
| 13 | +if(CMAKE_CXX_COMPILER_ID STREQUAL "GNU") |
| 14 | + message("Using libraries for gcc") |
| 15 | + LINK_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/../lib/linux_gcc) |
| 16 | +elseif(MSVC) |
| 17 | + message("Windows version") |
| 18 | + |
| 19 | + if(MSVC_VERSION VERSION_EQUAL 1800) |
| 20 | + LINK_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/../lib/vs2013) |
| 21 | + elseif(MSVC_VERSION VERSION_EQUAL 1900) |
| 22 | + LINK_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/../lib/vs2015) |
| 23 | + endif() |
| 24 | +endif() |
| 25 | + |
| 26 | +# Don't use C++11 ABI for compatibility between GCC v4.9 and >=5 |
| 27 | + |
| 28 | +set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -D_GLIBCXX_USE_CXX11_ABI=0") |
| 29 | +set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -D_GLIBCXX_USE_CXX11_ABI=0") |
| 30 | + |
| 31 | +# Binaries |
| 32 | + |
| 33 | +add_executable(ToVTK4_linux64 ${OBJXML} ${OBCOMMON} ${OBCODE}) |
| 34 | +install(TARGETS ToVTK4_linux64 DESTINATION ${CMAKE_CURRENT_SOURCE_DIR}/../bin) |
| 35 | + |
| 36 | +# Linker flags |
| 37 | + |
| 38 | +if(CMAKE_CXX_COMPILER_ID STREQUAL "GNU") |
| 39 | + target_link_libraries(ToVTK4_linux64 jvtklib_64) |
| 40 | + set_target_properties(ToVTK4_linux64 PROPERTIES COMPILE_FLAGS "-use_fast_math -O3 -D_GLIBCXX_USE_CXX11_ABI=0") |
| 41 | + |
| 42 | +elseif(MSVC) |
| 43 | + if(MSVC_VERSION VERSION_EQUAL 1800) |
| 44 | + # MSVC 2013 |
| 45 | + target_link_libraries(ToVTK4_linux64 LibJVtkLib_x64_v120_Release) |
| 46 | + elseif(MSVC_VERSION VERSION_EQUAL 1900) |
| 47 | + # MSVC 2015 |
| 48 | + target_link_libraries(ToVTK4_linux64 LibJVtkLib_x64_v140_Release) |
| 49 | + endif() |
| 50 | + |
| 51 | + SET(CUDA_PROPAGATE_HOST_FLAGS OFF CACHE BOOL "Propagate C/CXX Flags and friends to the host compiler in NVCC via -Xompile " FORCE) |
| 52 | + |
| 53 | + foreach(CPP_FLAGS CMAKE_CXX_FLAGS CMAKE_CXX_FLAGS_DEBUG CMAKE_CXX_FLAGS_RELEASE CMAKE_CXX_FLAGS_MINSIZEREL CMAKE_CXX_FLAGS_RELWITHDEBINFO) |
| 54 | + if(${CPP_FLAGS} MATCHES "/MD") |
| 55 | + string(REGEX REPLACE "/MD" "/MT" ${CPP_FLAGS} "${${CPP_FLAGS}}") |
| 56 | + endif(${CPP_FLAGS} MATCHES "/MD") |
| 57 | + endforeach(CPP_FLAGS) |
| 58 | +endif() |
| 59 | + |
0 commit comments