Skip to content

Commit d22e8a4

Browse files
authored
Merge pull request #221 from nscooling/C++14
Refactored src/CMakelist to support C++14
2 parents a44260a + 35aa4bb commit d22e8a4

1 file changed

Lines changed: 20 additions & 9 deletions

File tree

src/CMakeLists.txt

Lines changed: 20 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,17 @@ cmake_minimum_required(VERSION 3.10)
22

33
project(pinetime-app C CXX ASM)
44

5+
6+
set(CMAKE_C_STANDARD 99)
7+
set(CMAKE_CXX_STANDARD 14)
8+
9+
# set(CMAKE_GENERATOR "Unix Makefiles")
10+
set(CMAKE_C_EXTENSIONS OFF)
11+
set(CMAKE_C_STANDARD_REQUIRED ON)
12+
set(CMAKE_CXX_EXTENSIONS OFF)
13+
set(CMAKE_CXX_STANDARD_REQUIRED ON)
14+
set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
15+
516
# define some variables just for this example to determine file locations
617
set(NRF_PROJECT_NAME pinetime-app)
718
set(NRF_BOARD pca10040)
@@ -749,7 +760,7 @@ target_compile_options(nrf-sdk PRIVATE
749760
$<$<AND:$<COMPILE_LANGUAGE:C>,$<CONFIG:RELEASE>>: ${COMMON_FLAGS} -O3>
750761
$<$<AND:$<COMPILE_LANGUAGE:CXX>,$<CONFIG:DEBUG>>: ${COMMON_FLAGS} -O0>
751762
$<$<AND:$<COMPILE_LANGUAGE:CXX>,$<CONFIG:RELEASE>>: ${COMMON_FLAGS} -O3>
752-
$<$<COMPILE_LANGUAGE:ASM>: -MP -MD -std=c99 -x assembler-with-cpp>
763+
$<$<COMPILE_LANGUAGE:ASM>: -MP -MD -x assembler-with-cpp>
753764
)
754765

755766
# NimBLE
@@ -761,7 +772,7 @@ target_compile_options(nimble PRIVATE
761772
$<$<AND:$<COMPILE_LANGUAGE:C>,$<CONFIG:RELEASE>>: ${COMMON_FLAGS} -O3 -Wno-unused-but-set-variable -Wno-maybe-uninitialized>
762773
$<$<AND:$<COMPILE_LANGUAGE:CXX>,$<CONFIG:DEBUG>>: ${COMMON_FLAGS} -O0 -g3 -Wno-unused-but-set-variable -Wno-maybe-uninitialized>
763774
$<$<AND:$<COMPILE_LANGUAGE:CXX>,$<CONFIG:RELEASE>>: ${COMMON_FLAGS} -O3 -Wno-unused-but-set-variable -Wno-maybe-uninitialized>
764-
$<$<COMPILE_LANGUAGE:ASM>: -MP -MD -std=c99 -x assembler-with-cpp>
775+
$<$<COMPILE_LANGUAGE:ASM>: -MP -MD -x assembler-with-cpp>
765776
)
766777

767778
# lvgl
@@ -773,7 +784,7 @@ target_compile_options(lvgl PRIVATE
773784
$<$<AND:$<COMPILE_LANGUAGE:C>,$<CONFIG:RELEASE>>: ${COMMON_FLAGS} -O3>
774785
$<$<AND:$<COMPILE_LANGUAGE:CXX>,$<CONFIG:DEBUG>>: ${COMMON_FLAGS} -O0 -g3>
775786
$<$<AND:$<COMPILE_LANGUAGE:CXX>,$<CONFIG:RELEASE>>: ${COMMON_FLAGS} -O3>
776-
$<$<COMPILE_LANGUAGE:ASM>: -MP -MD -std=c99 -x assembler-with-cpp>
787+
$<$<COMPILE_LANGUAGE:ASM>: -MP -MD -x assembler-with-cpp>
777788
)
778789

779790
# Build autonomous binary (without support for bootloader)
@@ -788,12 +799,12 @@ target_compile_options(${EXECUTABLE_NAME} PUBLIC
788799
$<$<AND:$<COMPILE_LANGUAGE:C>,$<CONFIG:RELEASE>>: ${COMMON_FLAGS} -O3>
789800
$<$<AND:$<COMPILE_LANGUAGE:CXX>,$<CONFIG:DEBUG>>: ${COMMON_FLAGS} -O0 -g3>
790801
$<$<AND:$<COMPILE_LANGUAGE:CXX>,$<CONFIG:RELEASE>>: ${COMMON_FLAGS} -O3>
791-
$<$<COMPILE_LANGUAGE:ASM>: -MP -MD -std=c99 -x assembler-with-cpp>
802+
$<$<COMPILE_LANGUAGE:ASM>: -MP -MD -x assembler-with-cpp>
792803
)
793804

794805
set_target_properties(${EXECUTABLE_NAME} PROPERTIES
795806
SUFFIX ".out"
796-
LINK_FLAGS "-mthumb -mabi=aapcs -std=gnu++98 -std=c99 -L ${NRF5_SDK_PATH}/modules/nrfx/mdk -T${NRF5_LINKER_SCRIPT} -mcpu=cortex-m4 -mfloat-abi=hard -mfpu=fpv4-sp-d16 -Wl,--gc-sections --specs=nano.specs -lc -lnosys -lm -Wl,-Map=${EXECUTABLE_FILE_NAME}.map"
807+
LINK_FLAGS "-mthumb -mabi=aapcs -L ${NRF5_SDK_PATH}/modules/nrfx/mdk -T${NRF5_LINKER_SCRIPT} -mcpu=cortex-m4 -mfloat-abi=hard -mfpu=fpv4-sp-d16 -Wl,--gc-sections --specs=nano.specs -lc -lnosys -lm -Wl,-Map=${EXECUTABLE_FILE_NAME}.map"
797808
CXX_STANDARD 11
798809
C_STANDARD 99
799810
)
@@ -820,12 +831,12 @@ target_compile_options(${EXECUTABLE_MCUBOOT_NAME} PUBLIC
820831
$<$<AND:$<COMPILE_LANGUAGE:C>,$<CONFIG:RELEASE>>: ${COMMON_FLAGS} -O3>
821832
$<$<AND:$<COMPILE_LANGUAGE:CXX>,$<CONFIG:DEBUG>>: ${COMMON_FLAGS} -O0 -g3>
822833
$<$<AND:$<COMPILE_LANGUAGE:CXX>,$<CONFIG:RELEASE>>: ${COMMON_FLAGS} -O3>
823-
$<$<COMPILE_LANGUAGE:ASM>: -MP -MD -std=c99 -x assembler-with-cpp>
834+
$<$<COMPILE_LANGUAGE:ASM>: -MP -MD -x assembler-with-cpp>
824835
)
825836

826837
set_target_properties(${EXECUTABLE_MCUBOOT_NAME} PROPERTIES
827838
SUFFIX ".out"
828-
LINK_FLAGS "-mthumb -mabi=aapcs -std=gnu++98 -std=c99 -L ${NRF5_SDK_PATH}/modules/nrfx/mdk -T${NRF5_LINKER_SCRIPT_MCUBOOT} -mcpu=cortex-m4 -mfloat-abi=hard -mfpu=fpv4-sp-d16 -Wl,--gc-sections --specs=nano.specs -lc -lnosys -lm -Wl,-Map=${EXECUTABLE_MCUBOOT_FILE_NAME}.map"
839+
LINK_FLAGS "-mthumb -mabi=aapcs -L ${NRF5_SDK_PATH}/modules/nrfx/mdk -T${NRF5_LINKER_SCRIPT_MCUBOOT} -mcpu=cortex-m4 -mfloat-abi=hard -mfpu=fpv4-sp-d16 -Wl,--gc-sections --specs=nano.specs -lc -lnosys -lm -Wl,-Map=${EXECUTABLE_MCUBOOT_FILE_NAME}.map"
829840
CXX_STANDARD 11
830841
C_STANDARD 99
831842
)
@@ -849,12 +860,12 @@ target_compile_options(${EXECUTABLE_GRAPHICS_NAME} PUBLIC
849860
$<$<AND:$<COMPILE_LANGUAGE:C>,$<CONFIG:RELEASE>>: ${COMMON_FLAGS} -O3>
850861
$<$<AND:$<COMPILE_LANGUAGE:CXX>,$<CONFIG:DEBUG>>: ${COMMON_FLAGS} -O0 -g3>
851862
$<$<AND:$<COMPILE_LANGUAGE:CXX>,$<CONFIG:RELEASE>>: ${COMMON_FLAGS} -O3>
852-
$<$<COMPILE_LANGUAGE:ASM>: -MP -MD -std=c99 -x assembler-with-cpp>
863+
$<$<COMPILE_LANGUAGE:ASM>: -MP -MD -x assembler-with-cpp>
853864
)
854865

855866
set_target_properties(${EXECUTABLE_GRAPHICS_NAME} PROPERTIES
856867
SUFFIX ".out"
857-
LINK_FLAGS "-mthumb -mabi=aapcs -std=gnu++98 -std=c99 -L ${NRF5_SDK_PATH}/modules/nrfx/mdk -T${NRF5_LINKER_SCRIPT} -mcpu=cortex-m4 -mfloat-abi=hard -mfpu=fpv4-sp-d16 -Wl,--gc-sections --specs=nano.specs -lc -lnosys -lm -Wl,-Map=${EXECUTABLE_GRAPHICS_FILE_NAME}.map"
868+
LINK_FLAGS "-mthumb -mabi=aapcs -L ${NRF5_SDK_PATH}/modules/nrfx/mdk -T${NRF5_LINKER_SCRIPT} -mcpu=cortex-m4 -mfloat-abi=hard -mfpu=fpv4-sp-d16 -Wl,--gc-sections --specs=nano.specs -lc -lnosys -lm -Wl,-Map=${EXECUTABLE_GRAPHICS_FILE_NAME}.map"
858869
CXX_STANDARD 11
859870
C_STANDARD 99
860871
)

0 commit comments

Comments
 (0)