Page Menu
Home
c4science
Search
Configure Global Search
Log In
Files
F98341211
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Award Token
Subscribers
None
File Metadata
Details
File Info
Storage
Attached
Created
Sun, Jan 12, 06:45
Size
8 KB
Mime Type
text/x-diff
Expires
Tue, Jan 14, 06:45 (1 d, 10 h)
Engine
blob
Format
Raw Data
Handle
23564837
Attached To
rLIBMULTISCALE LibMultiScale
View Options
diff --git a/.gitmodules b/.gitmodules
index 809b59f..3dd422e 100644
--- a/.gitmodules
+++ b/.gitmodules
@@ -1,3 +1,6 @@
[submodule "third-party/akantu"]
path = third-party/akantu
url = git@lsmssrv1:akantu
+[submodule "cmake/Modules"]
+ path = cmake/Modules
+ url = git@lsmssrv1:cmake-modules
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 895a460..6a2fe52 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -1,151 +1,152 @@
#===============================================================================
# @file CMakeLists.txt
#
# @author Guillaume Anciaux <guillaume.anciaux@epfl.ch>
# @author Nicolas Richart <nicolas.richart@epfl.ch>
#
# @date Mon Jul 28 12:20:03 2014
#
# @brief This is the main CMake configuration file for LM
#
# @section LICENSE
#
# Copyright (©) 2010-2011 EPFL (Ecole Polytechnique Fédérale de Lausanne)
# Laboratory (LSMS - Laboratoire de Simulation en Mécanique des Solides)
#
# LibMultiScale is free software: you can redistribute it and/or modify it under the
# terms of the GNU Lesser General Public License as published by the Free
# Software Foundation, either version 3 of the License, or (at your option) any
# later version.
#
# LibMultiScale is distributed in the hope that it will be useful, but WITHOUT ANY
# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
# A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
# details.
#
# You should have received a copy of the GNU Lesser General Public License
# along with LibMultiScale. If not, see <http://www.gnu.org/licenses/>.
#
#===============================================================================
#===============================================================================
# Project definition
#===============================================================================
cmake_minimum_required(VERSION 2.8)
project(LibMultiScale)
enable_language(CXX)
#===============================================================================
# Misc. config for cmake
#===============================================================================
set(LIBMULTISCALE_CMAKE_DIR "${PROJECT_SOURCE_DIR}/cmake")
set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${PROJECT_SOURCE_DIR}/cmake")
set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${PROJECT_SOURCE_DIR}/cmake/Modules")
set(BUILD_SHARED_LIBS ON CACHE BOOL "Build shared libraries.")
include(LibMultiScaleMacros)
include(CMakeFlagsHandling)
include(CMakeVersionGenerator)
include(CMakeDebugMessages)
include(CMakePackagesSystem)
#===============================================================================
# Version Number
#===============================================================================
# LIBMULTISCALE version number. An even minor number corresponds to releases.
set(LIBMULTISCALE_MAJOR_VERSION 2)
set(LIBMULTISCALE_MINOR_VERSION 1)
set(LIBMULTISCALE_BUILD_VERSION 0)
define_project_version()
#===============================================================================
# Options
#===============================================================================
option(LIBMULTISCALE_OPTIMIZE "Set this if you want libmultiscale to be fully optimized" OFF)
if(LIBMULTISCALE_OPTIMIZE)
add_definitions(-DLM_OPTIMIZED)
endif(LIBMULTISCALE_OPTIMIZE)
add_flags(cxx -Wall)
add_flags(cxx -fPIC)
#add_flags(cxx -std=gnu++0x)
#add_flags(cxx -std=c++11)
add_flags(SHARED_LINKER -fPIC)
if (CMAKE_CXX_COMPILER_ID MATCHES "Intel")
add_flags(cxx -vec-report=0)
endif()
#===============================================================================
# LibMultiScale library
#===============================================================================
#cmake_activate_debug_message(TestSystem)
cmake_deactivate_debug_message()
-add_all_packages(${PROJECT_SOURCE_DIR}/packages ${PROJECT_SOURCE_DIR}/src)
+package_list_packages(${PROJECT_SOURCE_DIR}/packages
+ EXTRA_PACKAGES_FOLDER ${PROJECT_SOURCE_DIR}/extra_packages)
add_subdirectory(src)
set(LIBMULTISCALE_DEPEND_FILES "")
foreach(_file ${LIBMULTISCALE_SRCS} ${LIBMULTISCALE_HDRS} ${LIBMULTISCALE_INLINE_SRCS})
list(APPEND LIBMULTISCALE_DEPEND_FILES ${PROJECT_SOURCE_DIR}/src/${_file})
endforeach()
#===============================================================================
# Release file target
#===============================================================================
set(GET_RELEASE_INFO ${PROJECT_SOURCE_DIR}/get_release_info.sh)
set(RELEASE_FILE ${PROJECT_BINARY_DIR}/release.cc)
find_program(uuencode_exec "uuencode")
mark_as_advanced(uuencode_exec)
if(uuencode_exec)
add_custom_command(
OUTPUT ${RELEASE_FILE}
COMMAND bash ${GET_RELEASE_INFO} ${uuencode_exec} ${PROJECT_BINARY_DIR} > ${RELEASE_FILE}
DEPENDS ${LIBMULTISCALE_DEPEND_FILES} ${GET_RELEASE_INFO}
WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}
)
else()
message("install uuencode on the building machine to have access to release information.")
file(WRITE "${RELEASE_FILE}"
"
#include <string>
std::string lm_release_info = \" install uuencode on the building machine to have access to release information.\";
")
endif()
add_custom_target(RELEASE_INFO DEPENDS ${RELEASE_FILE})
#===============================================================================
# LibMultiScale AMEL + LMPOST
#===============================================================================
add_subdirectory(clients)
#===============================================================================
# Documentation
#===============================================================================
option(LIBMULTISCALE_DOCUMENTATION "Build documentation." OFF)
if(LIBMULTISCALE_DOCUMENTATION)
add_subdirectory(doc)
endif(LIBMULTISCALE_DOCUMENTATION)
#===============================================================================
# Tests
#===============================================================================
option(LIBMULTISCALE_TESTS "Activate tests" OFF)
if(LIBMULTISCALE_TESTS)
enable_testing()
include(CTest)
add_subdirectory(test)
mark_as_advanced(BUILD_TESTING)
endif()
#===============================================================================
# CPack
#===============================================================================
include(LibMultiScaleCPack)
diff --git a/cmake/Modules b/cmake/Modules
new file mode 160000
index 0000000..bd5255e
--- /dev/null
+++ b/cmake/Modules
@@ -0,0 +1 @@
+Subproject commit bd5255e41f529ccf4bb7e3dd77f2dbbf64ae8728
diff --git a/packages/blackdynamite.cmake b/packages/blackdynamite.cmake
index 9c3ba55..95a7536 100644
--- a/packages/blackdynamite.cmake
+++ b/packages/blackdynamite.cmake
@@ -1,44 +1,49 @@
#===============================================================================
# @file blackdynamite.cmake
#
# @author Guillaume Anciaux <guillaume.anciaux@epfl.ch>
#
# @date Fri Nov 08 11:28:32 2013
#
# @brief Blackdynamite parametric studies packages
#
# @section LICENSE
#
# Copyright (©) 2010-2011 EPFL (Ecole Polytechnique Fédérale de Lausanne)
# Laboratory (LSMS - Laboratoire de Simulation en Mécanique des Solides)
#
# LibMultiScale is free software: you can redistribute it and/or modify it under the
# terms of the GNU Lesser General Public License as published by the Free
# Software Foundation, either version 3 of the License, or (at your option) any
# later version.
#
# LibMultiScale is distributed in the hope that it will be useful, but WITHOUT ANY
# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
# A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
# details.
#
# You should have received a copy of the GNU Lesser General Public License
# along with LibMultiScale. If not, see <http://www.gnu.org/licenses/>.
#
#===============================================================================
-add_optional_external_package(BlackDynamite "Plugin Akantu for continuum" FALSE FOUND BlackDynamite_FOUND)
+package_declare(BlackDynamite EXTERNAL
+ DESCRIPTION "Plugin Akantu for continuum"
+ SYSTEM OFF
+ DEFAULT OFF)
set(LIBMULTISCALE_DUMPER_HDRS_LIST_BLACKDYNAMITE
dumper/dumper_blackdynamite.hh
)
set(LIBMULTISCALE_BLACKDYNAMITE_FILES
${LIBMULTISCALE_DUMPER_HDRS_LIST_BLACKDYNAMITE}
dumper/dumper_blackdynamite.cc
)
set(LIBMULTISCALE_DUMPER_REAL_INPUT_LIST_BLACKDYNAMITE
"((DumperBlackDynamite,BLACKDYNAMITE))"
)
-mark_as_advanced(LIBMULTISCALE_USE_BLACKDYNAMITE)
\ No newline at end of file
+
+
+package_declare_sources(BlackDynamite ${LIBMULTISCALE_BLACKDYNAMITE_FILES})
Event Timeline
Log In to Comment