1 diff --git a/CMakeLists.txt b/CMakeLists.txt
2 index 1610c2e..b012008 100644
7 # Author : Nicholas Yue yue.nicholas@gmail.com
9 -CMAKE_MINIMUM_REQUIRED( VERSION 2.8 )
10 +CMAKE_MINIMUM_REQUIRED( VERSION 3.17 )
14 set( CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${PROJECT_SOURCE_DIR}/cmake )
16 FIND_PACKAGE (Doxygen)
17 -FIND_PACKAGE (HDF5 COMPONENTS C)
18 -IF ( CMAKE_HOST_WIN32 )
19 -# f3dinfo relies on program_options but don't include it, since
20 -# for some reason, unlike all the other boost components, a link is
21 -# forced via a pragma.
22 -FIND_PACKAGE (Boost COMPONENTS regex thread)
24 -FIND_PACKAGE (Boost COMPONENTS regex thread program_options system)
27 +FIND_PACKAGE (HDF5 COMPONENTS C REQUIRED)
28 +FIND_PACKAGE (Boost COMPONENTS regex thread program_options system REQUIRED)
30 -FIND_PACKAGE (ILMBase)
31 +FIND_PACKAGE (OpenEXR REQUIRED)
33 # Allow the developer to select if Dynamic or Static libraries are built
34 OPTION (BUILD_SHARED_LIBS "Build Shared Libraries" ON)
35 @@ -79,26 +71,14 @@ IF ( CMAKE_HOST_UNIX )
37 IF ( CMAKE_HOST_WIN32 )
39 - -D_HAS_ITERATOR_DEBUGGING=0
40 -D_CRT_SECURE_NO_WARNINGS=1
44 SET ( LIB_TYPE SHARED )
45 IF ( NOT BUILD_SHARED_LIBS )
46 - IF ( CMAKE_HOST_WIN32 )
47 - # User wants to build static libraries, so change the LIB_TYPE variable to CMake keyword 'STATIC'
48 SET ( LIB_TYPE STATIC )
49 ADD_DEFINITIONS( -DFIELD3D_STATIC )
52 - IF ( CMAKE_HOST_WIN32 )
59 ENDIF ( NOT BUILD_SHARED_LIBS )
61 ADD_LIBRARY ( Field3D ${LIB_TYPE}
62 @@ -147,24 +128,22 @@ IF ( CMAKE_HOST_UNIX )
65 LIST ( APPEND Field3D_Libraries_Shared
66 - Iex Half IlmThread Imath
68 SET ( Field3D_DSO_Libraries ${Field3D_Libraries_Shared} )
69 SET ( Field3D_BIN_Libraries Field3D ${Field3D_Libraries_Shared}
72 IF ( CMAKE_HOST_WIN32 )
73 - # Add OpenEXR and zlib release/debug
74 - FOREACH ( lib Iex Half IlmThread Imath zdll )
75 + FOREACH ( lib zlib )
76 LIST ( APPEND Field3D_Libraries_Shared
81 SET ( Field3D_DSO_Libraries ${Field3D_Libraries_Shared} Shlwapi.lib)
82 SET ( Field3D_BIN_Libraries Field3D ${Boost_LIBRARIES} )
85 -TARGET_LINK_LIBRARIES ( Field3D ${Field3D_DSO_Libraries} ${Boost_LIBRARIES})
86 +TARGET_LINK_LIBRARIES ( Field3D ${Field3D_DSO_Libraries} ${Boost_LIBRARIES} OpenEXR::IlmImf)
88 # Parase version and soversion from export/ns.h
90 @@ -214,33 +193,7 @@ ADD_EXECUTABLE ( f3dinfo
92 TARGET_LINK_LIBRARIES ( f3dinfo ${Field3D_BIN_Libraries} )
94 -# field3d - sparse_field_io
95 -ADD_EXECUTABLE ( sparse_field_io
96 - apps/sample_code/sparse_field_io/main.cpp
99 -TARGET_LINK_LIBRARIES ( sparse_field_io ${Field3D_BIN_Libraries} )
102 -ADD_EXECUTABLE ( read
103 - apps/sample_code/read/main.cpp
106 -TARGET_LINK_LIBRARIES ( read ${Field3D_BIN_Libraries} )
108 -# field3d - mixed_types
109 -ADD_EXECUTABLE ( mixed_types
110 - apps/sample_code/mixed_types/main.cpp
113 -TARGET_LINK_LIBRARIES ( mixed_types ${Field3D_BIN_Libraries} )
115 -# field3d - create_and_write
116 -ADD_EXECUTABLE ( create_and_write
117 - apps/sample_code/create_and_write/main.cpp
120 -TARGET_LINK_LIBRARIES ( create_and_write ${Field3D_BIN_Libraries} )
123 ADD_CUSTOM_TARGET ( doc
124 @@ -249,7 +202,7 @@ IF (DOXYGEN_FOUND)
125 WORKING_DIRECTORY ${CMAKE_HOME_DIRECTORY}
130 ${CMAKE_HOME_DIRECTORY}/docs
131 DESTINATION ${CMAKE_INSTALL_PREFIX}
133 @@ -263,12 +216,11 @@ INSTALL ( TARGETS
135 FILE(GLOB Field3d_Includes "${CMAKE_CURRENT_SOURCE_DIR}/export/*.h")
138 - ${Field3d_Includes}
140 + ${Field3d_Includes}
141 DESTINATION include/Field3D
144 -INSTALL ( TARGETS f3dinfo
145 +INSTALL ( TARGETS f3dinfo
146 RUNTIME DESTINATION bin