66# See the LICENSE file for copyright and licensing information.
77#
88
9- cmake_minimum_required (VERSION 2.6 )
9+ cmake_minimum_required (VERSION 2.9 )
1010
1111
1212# ===================
@@ -18,16 +18,16 @@ cmake_minimum_required(VERSION 2.6)
1818set (My_Project_Title "libMultiMarkdown" )
1919set (My_Project_Description "Lightweight markup processor to produce HTML, LaTeX, and more." )
2020set (My_Project_Author "Fletcher T. Penney" )
21- set (My_Project_Revised_Date "2020-10-28 " )
21+ set (My_Project_Revised_Date "2023-06-10 " )
2222set (My_Project_Version_Major 6)
23- set (My_Project_Version_Minor 6 )
23+ set (My_Project_Version_Minor 7 )
2424set (My_Project_Version_Patch 0)
2525
26- set (My_Project_Copyright_Date "2016 - 2020 " )
26+ set (My_Project_Copyright_Date "2016 - 2023 " )
2727
2828set (My_Project_Identifier "net.fletcherpenney.multimarkdown" )
2929
30- string (TIMESTAMP My_Build_Version "%Y.%m.%d.%H.%M" )
30+ string (TIMESTAMP My_Build_Version "%Y.%m.%d.%H.%M" UTC )
3131
3232
3333# Search for included files here
@@ -165,6 +165,19 @@ endif (POLICY CMP0048)
165165
166166project (${My_Project_Title} VERSION "${My_Project_Version} " )
167167
168+ # from http://stackoverflow.com/questions/25199677/how-to-detect-if-current-scope-has-a-parent-in-cmake
169+ get_directory_property (hasParent PARENT_DIRECTORY )
170+
171+ if (hasParent)
172+ else ()
173+ # If building the framework independently, we canset a deployment target
174+ # set (CMAKE_OSX_DEPLOYMENT_TARGET "10.12")
175+
176+ if (CMAKE_GENERATOR MATCHES "Xcode" )
177+ set (CMAKE_OSX_ARCHITECTURES "$(ARCHS_STANDARD)" )
178+ endif ()
179+ endif ()
180+
168181
169182# Search source directory
170183include_directories (${PROJECT_SOURCE_DIR} /src)
@@ -198,11 +211,27 @@ set_target_properties("${My_Project_Title}"
198211 XCODE_ATTRIBUTE_FRAMEWORK_SEARCH_PATHS "${XCODE_ATTRIBUTE_FRAMEWORK_SEARCH_PATHS} ${framework_search_paths_string} "
199212 PUBLIC_HEADER "${public_headers} "
200213 ARCHIVE_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}
214+ XCODE_ATTRIBUTE_DEFINES_MODULE YES
215+ XCODE_ATTRIBUTE_MODULEMAP_FILE "src/module.modulemap"
216+ # XCODE_ATTRIBUTE_CONFIGURATION_BUILD_DIR "$SYMROOT/$CONFIGURATION"
201217)
202218
219+ if (hasParent)
220+ else ()
221+ set_target_properties ("${My_Project_Title} "
222+ PROPERTIES
223+ XCODE_ATTRIBUTE_ONLY_ACTIVE_ARCH [variant=Debug] YES
224+ XCODE_ATTRIBUTE_ONLY_ACTIVE_ARCH [variant=MinSizeRel] NO
225+ XCODE_ATTRIBUTE_ONLY_ACTIVE_ARCH [variant=RelWithDebInfo] NO
226+ XCODE_ATTRIBUTE_ONLY_ACTIVE_ARCH [variant=Release] NO
227+ XCODE_LINK_BUILD_PHASE_MODE "KNOWN_LOCATION"
228+ )
229+ endif ()
230+
203231# Link to other libraries
204232target_link_libraries ("${My_Project_Title} "
205233 ${libraries_to_link}
234+ m
206235)
207236
208237# Link to Apple Cocoa Framework?
@@ -272,10 +301,6 @@ configure_file (
272301# Build Test Suite with CuTest (unit testing)
273302# ===========================================
274303
275- # from http://stackoverflow.com/questions/25199677/how-to-detect-if-current-scope-has-a-parent-in-cmake
276- get_directory_property (hasParent PARENT_DIRECTORY )
277-
278-
279304set (test_files
280305 test /CuTest.c
281306 test /CuTest.h
@@ -343,17 +368,30 @@ endif()
343368# Build MultiMarkdown app
344369if (hasParent)
345370else ()
346- add_executable (multimarkdown
347- src/d_string.c
371+ if (DEFINED TEST )
372+ else ()
373+ add_executable (multimarkdown
374+ src/d_string.c
348375
349- src/main.c
350- src/argtable3.c
376+ src/main.c
377+ src/argtable3.c
351378
352- ${private_headers}
353- ${public_headers}
354- )
379+ ${private_headers}
380+ ${public_headers}
381+ )
382+
383+ target_link_libraries (multimarkdown "${My_Project_Title} " )
355384
356- target_link_libraries (multimarkdown "${My_Project_Title} " )
385+ set_target_properties (multimarkdown
386+ PROPERTIES
387+ XCODE_ATTRIBUTE_ONLY_ACTIVE_ARCH [variant=Debug] YES
388+ XCODE_ATTRIBUTE_ONLY_ACTIVE_ARCH [variant=MinSizeRel] NO
389+ XCODE_ATTRIBUTE_ONLY_ACTIVE_ARCH [variant=RelWithDebInfo] NO
390+ XCODE_ATTRIBUTE_ONLY_ACTIVE_ARCH [variant=Release] NO
391+ XCODE_LINK_BUILD_PHASE_MODE "KNOWN_LOCATION"
392+ )
393+
394+ endif ()
357395endif ()
358396
359397
@@ -532,7 +570,7 @@ else (hasParent)
532570 "${PROJECT_BINARY_DIR} /LICENSE.txt"
533571 "${PROJECT_BINARY_DIR} /README.txt"
534572 COMPONENT Docs
535- DESTINATION .
573+ DESTINATION share/ doc /MultiMarkdown
536574 )
537575 set (CPACK_COMPONENT_DOCS_DISPLAY_NAME "Documentation" )
538576 set (CPACK_COMPONENT_DOCS_DESCRIPTION "Install README and LICENSE." )
0 commit comments