1diff --git a/CMakeLists.txt b/CMakeLists.txt
2index c1bc953edf..f6aaf92fb5 100644
3--- a/CMakeLists.txt
4+++ b/CMakeLists.txt
5@@ -2,6 +2,7 @@
6 set(CMAKE_CXX_STANDARD 14)
7 set(CMAKE_CXX_STANDARD_REQUIRED ON)
8 mark_as_advanced(FORCE CMAKE_INSTALL_PREFIX)
9+include(GNUInstallDirs)
10
11 project(FEBio)
12 set(FEBIO_LIBS FEBioFluid FEBioLib FEBioMech FEBioMix FEBioOpt FECore NumCore FEAMR FEBioRVE FEImgLib)
13@@ -51,7 +52,7 @@
14 find_library(TEMP NAMES ${libName}.lib ${ARGV3}.lib ${ARGV4}.lib ${ARGV5}.lib ${ARGV6}.lib
15 PATHS ${${libDir}} NO_DEFAULT_PATH)
16 else()
17- find_library(TEMP NAMES lib${libName}.a lib${ARGV3}.a lib${ARGV4}.a lib${ARGV5}.a lib${ARGV6}.a
18+ find_library(TEMP NAMES lib${libName}.a lib${ARGV3}.a lib${ARGV4}.a lib${ARGV5}.a lib${ARGV6}.a lib${libName}@so@ lib${ARGV3}@so@ lib${ARGV4}@so@ lib${ARGV5}@so@ lib${ARGV6}@so@
19 PATHS ${${libDir}} NO_DEFAULT_PATH)
20 endif()
21
22@@ -154,7 +155,7 @@
23 ##### Find Source Files #####
24
25 macro(findHdrSrc name)
26- file(GLOB HDR_${name} "${name}/*.h")
27+ file(GLOB HDR_${name} "${name}/*.h" "${name}/*.hpp")
28 file(GLOB SRC_${name} "${name}/*.cpp")
29 endmacro()
30
31@@ -171,8 +172,9 @@
32
33 macro(addLib name TYPE)
34 string(TOLOWER ${name} lname)
35- add_library(${lname} ${TYPE} ${HDR_${name}} ${SRC_${name}})
36+ add_library(${lname} ${TYPE} ${SRC_${name}})
37 set_property(TARGET ${lname} PROPERTY AUTOGEN_BUILD_DIR ${CMAKE_BINARY_DIR}/CMakeFiles/AutoGen/${name}_autogen)
38+ target_sources(${lname} PUBLIC FILE_SET HEADERS TYPE HEADERS FILES ${HDR_${name}})
39
40 if(NOT WIN32)
41 set_property(TARGET ${lname} PROPERTY POSITION_INDEPENDENT_CODE ON)
42@@ -181,6 +183,8 @@
43 if(APPLE)
44 target_link_libraries(${lname} PRIVATE "-undefined dynamic_lookup")
45 endif()
46+
47+ install(TARGETS ${lname} FILE_SET HEADERS)
48 endmacro()
49
50 foreach(name IN LISTS FEBIO_LIBS)
51@@ -194,6 +198,7 @@
52 ##### Set up executable compilation #####
53 file(GLOB SOURCES "FEBio/*.cpp")
54 add_executable (febio4 ${SOURCES})
55+install(TARGETS febio4)
56
57 if(WIN32)
58 target_compile_options(febio4 PRIVATE /openmp)
59@@ -269,7 +274,6 @@
60 mark_as_advanced(EXTRA_INC)
61
62 ##### Setup includes, defnitions, and linking options #####
63-include_directories(${PROJECT_SOURCE_DIR})
64
65 # Link LEVMAR
66 if(USE_LEVMAR)
67@@ -438,3 +442,4 @@
68 file(WRITE ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/febio.xml "${filedata}")
69 endif()
70
71+install(FILES ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/febio.xml TYPE BIN)