Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

cdash errors - executables not build #18

Open
codewerfer opened this issue Apr 15, 2019 · 2 comments
Open

cdash errors - executables not build #18

codewerfer opened this issue Apr 15, 2019 · 2 comments

Comments

@codewerfer
Copy link
Member

codewerfer commented Apr 15, 2019

The executables for

  • linElast2D_lshape
  • linElast3D_terrific
  • meshDeform2D
  • nonLinElast2D_lshape
  • nonLinElast3D_terrific
    are not build. The appear in the list of "tests to run", but are not build.

gsElasticity needs to be build before gismo. This executables needs to be build after gismo. But from whom? (At the moment, they aren't a part of any major target)

@shamanskiy
Copy link
Member

Hi Jürgen,
sorry for not answering for so long.

For gsElasticity submodule, Angelos took his generic CMakeLists file which he uses for all other submodules. It adds gsElasticity to a target list of gismo

## gsElasticity module
project(gsElasticity)
# Apply G+Smo config
include(gsConfig)
## Collect files
aux_header_directory (${CMAKE_CURRENT_SOURCE_DIR} ${PROJECT_NAME}_H )
aux_cpp_directory (${CMAKE_CURRENT_SOURCE_DIR} ${PROJECT_NAME}_CPP)
aux_tmpl_header_directory(${CMAKE_CURRENT_SOURCE_DIR} ${PROJECT_NAME}_HPP)
if( (NOT GISMO_BUILD_LIB) )
aux_instance_directory (${CMAKE_CURRENT_SOURCE_DIR} ${PROJECT_NAME}_INS)
if(${PROJECT_NAME}_INS)
LIST( REMOVE_ITEM ${PROJECT_NAME}_CPP ${${PROJECT_NAME}_INS})
endif()
endif()
# Add object library
add_library(${PROJECT_NAME} OBJECT
${${PROJECT_NAME}_H}
${${PROJECT_NAME}_HPP}
${${PROJECT_NAME}_CPP} )
set_target_properties(${PROJECT_NAME} PROPERTIES
COMPILE_DEFINITIONS gismo_EXPORTS
POSITION_INDEPENDENT_CODE ON
LINKER_LANGUAGE CXX
FOLDER "G+Smo modules" )
set(gismo_MODULES ${gismo_MODULES} $<TARGET_OBJECTS:${PROJECT_NAME}>
CACHE INTERNAL "G+Smo modules" )

and adds gsElasticity/examples to a list of executables to compile:
# add example files
aux_cpp_directory(${CMAKE_CURRENT_SOURCE_DIR}/examples FILES)
foreach(file ${FILES})
add_gismo_executable(${file})
get_filename_component(tarname ${file} NAME_WE) # name without extension
set_property(TEST ${tarname} PROPERTY LABELS "${PROJECT_NAME}")
set_target_properties(${tarname} PROPERTIES FOLDER "${PROJECT_NAME}")
# install the example executables (optionally)
install(TARGETS ${tarname} DESTINATION "${BIN_INSTALL_DIR}" COMPONENT exe OPTIONAL)
endforeach(file ${FILES})
set(EXECUTABLE_OUTPUT_PATH ${CMAKE_BINARY_DIR}/bin/)

Shouldn't it be the same with this test build?

@codewerfer
Copy link
Member Author

Not sure. The executables are build with make, but not with one of the targets make gismo, make gsElasticity or any else (only make linElast2D_lshape etc.). For my little understanding in this, the should be build at maybe examples.

But I think this will toke a bit longer, and affects at the end all (new) extensions - at the end, it should be smart enough to add examples of extensions - and even unittests - to the examples and unittest if (and only if) a extension was enabled. So, this ISSUE is just to not forget on it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants