From cb7b23e2201744b9558d1f3cbbf4225c84d8bc25 Mon Sep 17 00:00:00 2001 From: Christoph Junghans <junghans@lanl.gov> Date: Fri, 22 Jun 2018 11:11:09 -0600 Subject: [PATCH] cmake: add BUILD_EXE option --- cmake/CMakeLists.txt | 46 +++++++++++++++++++++++++++----------------- 1 file changed, 28 insertions(+), 18 deletions(-) diff --git a/cmake/CMakeLists.txt b/cmake/CMakeLists.txt index 32c6e82920..e64e44995d 100644 --- a/cmake/CMakeLists.txt +++ b/cmake/CMakeLists.txt @@ -57,6 +57,15 @@ endif() ######################################################################## # User input options # ######################################################################## +option(BUILD_EXE "Build lmp binary" ON) +if(BUILD_EXE) + set(LAMMPS_MACHINE "" CACHE STRING "Suffix to append to lmp binary (WON'T enable any features automatically") + mark_as_advanced(LAMMPS_MACHINE) + if(LAMMPS_MACHINE) + set(LAMMPS_MACHINE "_${LAMMPS_MACHINE}") + endif() +endif() + option(BUILD_LIB "Build LAMMPS library" OFF) if(BUILD_LIB) option(BUILD_SHARED_LIBS "Build shared library" OFF) @@ -69,6 +78,11 @@ if(BUILD_LIB) set(LIB_SUFFIX "_${LIB_SUFFIX}") endif() endif() + +if(NOT BUILD_EXE AND NOT BUILD_LIB) + message(FATAL_ERROR "You need to at least enable one of two following options: BUILD_LIB or BUILD_EXE") +endif() + option(DEVELOPER_MODE "Enable developer mode" OFF) mark_as_advanced(DEVELOPER_MODE) option(CMAKE_VERBOSE_MAKEFILE "Generate verbose Makefiles" OFF) @@ -110,12 +124,6 @@ if(LAMMPS_EXCEPTIONS) set(LAMMPS_API_DEFINES "${LAMMPS_API_DEFINES} -DLAMMPS_EXCEPTIONS") endif() -set(LAMMPS_MACHINE "" CACHE STRING "Suffix to append to lmp binary (WON'T enable any features automatically") -mark_as_advanced(LAMMPS_MACHINE) -if(LAMMPS_MACHINE) - set(LAMMPS_MACHINE "_${LAMMPS_MACHINE}") -endif() - option(CMAKE_VERBOSE_MAKEFILE "Verbose makefile" OFF) option(ENABLE_TESTING "Enable testing" OFF) @@ -832,20 +840,22 @@ else() list(APPEND LMP_SOURCES ${LIB_SOURCES}) endif() -add_executable(lmp ${LMP_SOURCES}) -if(BUILD_LIB) - target_link_libraries(lmp lammps) -else() - target_link_libraries(lmp ${LAMMPS_LINK_LIBS}) - if(LAMMPS_DEPS) - add_dependencies(lmp ${LAMMPS_DEPS}) +if(BUILD_EXE) + add_executable(lmp ${LMP_SOURCES}) + if(BUILD_LIB) + target_link_libraries(lmp lammps) + else() + target_link_libraries(lmp ${LAMMPS_LINK_LIBS}) + if(LAMMPS_DEPS) + add_dependencies(lmp ${LAMMPS_DEPS}) + endif() endif() -endif() -set_target_properties(lmp PROPERTIES OUTPUT_NAME lmp${LAMMPS_MACHINE}) -install(TARGETS lmp DESTINATION ${CMAKE_INSTALL_BINDIR}) -if(ENABLE_TESTING) - add_test(ShowHelp lmp${LAMMPS_MACHINE} -help) + set_target_properties(lmp PROPERTIES OUTPUT_NAME lmp${LAMMPS_MACHINE}) + install(TARGETS lmp DESTINATION ${CMAKE_INSTALL_BINDIR}) + if(ENABLE_TESTING) + add_test(ShowHelp lmp${LAMMPS_MACHINE} -help) + endif() endif() ############################################################################### -- GitLab