Commit b4d7e091 authored by Wiarda, Dorothea's avatar Wiarda, Dorothea
Browse files

Merge branch 'seth-cmake' into 'master'

Refactor cmake code

See merge request !1
parents 449b52b5 94fa2a29
Loading
Loading
Loading
Loading

.gitignore

0 → 100644
+6 −0
Original line number Diff line number Diff line
/compile_commands.json
/[bB][uU][iI][lL][dD]*
/install
/.vscode
/CMakeCache.txt
/CMakeFiles
+73 −19
Original line number Diff line number Diff line
cmake_minimum_required (VERSION 2.6)
project (GNPDS_PARSER)
SET(CMAKE_CXX_FLAGS ${CMAKE_CXX_FLAGS} "-std=c++11")

SET (PUGIXML_PATH /Path_to_pugixml/src/)

FILE(GLOB OURS ${CMAKE_CURRENT_SOURCE_DIR}/gnd/*.cpp)
INCLUDE_DIRECTORIES( gnd  ${PUGIXML_PATH})
SET (SOURCES 
    ${PUGIXML_PATH}/pugiconfig.hpp
    ${PUGIXML_PATH}/pugixml.cpp
    ${OURS}
    xml/XmlElement.cpp
    xml/XmlEndfReader.cpp
    Container.cpp
    ArrayContainer.cpp
    TableContainer.cpp
    ValuesContainer.cpp
cmake_minimum_required(VERSION 3.12)

project(GNDS VERSION 0.0.1 LANGUAGES CXX)
cmake_policy(VERSION 3.12...3.20)

set(GNDS_NAMESPACE "GNDS::")

#---------------------------------------------------------------------------#
# OPTIONS
#---------------------------------------------------------------------------#

option(BUILD_SHARED_LIBS "Build shared libraries" ON)

#---------------------------------------------------------------------------#
# DEPENDENCIES
#---------------------------------------------------------------------------#

include(GNUInstallDirs)

if(NOT pugixml_FOUND)
  find_package(pugixml REQUIRED)
endif()

#---------------------------------------------------------------------------#
# LIBRARY AND HEADERS
#---------------------------------------------------------------------------#

add_subdirectory(src)

#---------------------------------------------------------------------------#
# TESTS
#---------------------------------------------------------------------------#

# TODO!

#---------------------------------------------------------------------------#
# EXECUTABLES
#---------------------------------------------------------------------------#

add_subdirectory(app)

#---------------------------------------------------------------------------#
# EXPORT
#---------------------------------------------------------------------------#

set(GNDS_INSTALL_CONFIGDIR
    "${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME}")

install(EXPORT GNDS-targets
  FILE GNDSTargets.cmake
  NAMESPACE ${GNDS_NAMESPACE}
  DESTINATION ${GNDS_INSTALL_CONFIGDIR}
)

# Create a ConfigVersion.cmake file
include(CMakePackageConfigHelpers)

add_executable(GndsParser main.cpp ${SOURCES})
configure_package_config_file(
  "${CMAKE_CURRENT_SOURCE_DIR}/cmake/GNDSConfig.cmake.in"
  "${CMAKE_CURRENT_BINARY_DIR}/GNDSConfig.cmake"
  PATH_VARS pugixml_DIR
  NO_CHECK_REQUIRED_COMPONENTS_MACRO
  INSTALL_DESTINATION ${GNDS_INSTALL_CONFIGDIR}
)

write_basic_package_version_file(
  "${CMAKE_CURRENT_BINARY_DIR}/GNDSConfigVersion.cmake"
  VERSION ${PROJECT_VERSION}
  COMPATIBILITY SameMajorVersion
)

install(FILES
  "${CMAKE_CURRENT_BINARY_DIR}/GNDSConfig.cmake"
  "${CMAKE_CURRENT_BINARY_DIR}/GNDSConfigVersion.cmake"
  DESTINATION ${GNDS_INSTALL_CONFIGDIR}
)

app/CMakeLists.txt

0 → 100644
+7 −0
Original line number Diff line number Diff line
add_executable(GndsParser GndsParser.cpp)
target_link_libraries(GndsParser gnds)

install(TARGETS GndsParser
  EXPORT GNDS-targets
  RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
)
+5 −4
Original line number Diff line number Diff line
#include <memory>
#include "xml/XmlEndfReader.h"
#include "transport_reaction_Suite.h"
#include "covariance_covariance_Suite.h"
#include "ExternalFiles.h"
#include <fstream>
#include <string>

#include "xml/XmlEndfReader.h"
#include "gnd/transport_reaction_Suite.h"
#include "gnd/covariance_covariance_Suite.h"
#include "ExternalFiles.h"

using namespace endfgnd;
int main(int argc, char** argv) {
    if( argc < 2){
+12 −0
Original line number Diff line number Diff line
@PACKAGE_INIT@

include(CMakeFindDependencyMacro)
set_and_check(pugixml_DIR @PACKAGE_pugixml_DIR@)
find_dependency(pugixml REQUIRED)

if(NOT TARGET @GNDS_NAMESPACE@gnds)
  include("${CMAKE_CURRENT_LIST_DIR}/GNDSTargets.cmake")
endif()

set(GNDS_LIBRARIES gnds)
set(GNDS_BUILD_SHARED_LIBS @BUILD_SHARED_LIBS@)
Loading