From 978780919f37729fb2b21b18d44f9e4a2ae2f941 Mon Sep 17 00:00:00 2001 From: Steffen Planthaber Date: Wed, 23 May 2018 16:33:03 +0200 Subject: [PATCH 1/3] make asn compiler and type prefix configurable --- cmake_macros/esrocos.cmake | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/cmake_macros/esrocos.cmake b/cmake_macros/esrocos.cmake index 3c7e923..14fe419 100644 --- a/cmake_macros/esrocos.cmake +++ b/cmake_macros/esrocos.cmake @@ -159,6 +159,8 @@ function(esrocos_asn1_types_package NAME) # Process optional arguments set(MODE "ASN1") set(ASN1_OUT_DIR "${CMAKE_CURRENT_BINARY_DIR}/${NAME}") + set(ASN1_COMPILER "$ENV{HOME}/tool-inst/share/asn1scc/asn1.exe" CACHE STRING "ASN compiler location") + set(ASN1_PREFIX "asn1Scc" CACHE STRING "ASN type prefix") foreach(ARG ${ARGN}) if(ARG STREQUAL "ASN1") # Set next argument mode to ASN1 file @@ -204,7 +206,7 @@ function(esrocos_asn1_types_package NAME) if(NOT EXISTS ${NAME}_timestamp) execute_process( COMMAND ${CMAKE_COMMAND} -E make_directory ${ASN1_OUT_DIR} - COMMAND mono $ENV{HOME}/tool-inst/share/asn1scc/asn1.exe -c -typePrefix asn1Scc -uPER -wordSize 8 -ACN -o ${ASN1_OUT_DIR} -atc ${ASN1_FILES} + COMMAND mono ${ASN1_COMPILER} -c -typePrefix ${ASN1_PREFIX} -uPER -wordSize 8 -ACN -o ${ASN1_OUT_DIR} -atc ${ASN1_FILES} RESULT_VARIABLE ASN1SCC_RESULT ) @@ -222,7 +224,7 @@ function(esrocos_asn1_types_package NAME) # Command for C compilation; creates timestamp file add_custom_command(OUTPUT ${NAME}_timestamp COMMAND ${CMAKE_COMMAND} -E make_directory ${ASN1_OUT_DIR} - COMMAND mono $ENV{HOME}/tool-inst/share/asn1scc/asn1.exe -c -typePrefix asn1Scc -uPER -wordSize 8 -ACN -o ${ASN1_OUT_DIR} -atc ${ASN1_FILES} + COMMAND mono ${ASN1_COMPILER} -c -typePrefix ${ASN1_PREFIX} -uPER -wordSize 8 -ACN -o ${ASN1_OUT_DIR} -atc ${ASN1_FILES} COMMAND ${CMAKE_COMMAND} -E touch ${NAME}_timestamp DEPENDS ${ASN1_FILES} COMMENT "Generate header files for: ${ASN1_IMPORTS} ${ASN1_FILES} in ${ASN1_OUT_DIR}" From 74dcb1ef3d6b8a0acc81060589a1d4bcd2a5b770 Mon Sep 17 00:00:00 2001 From: Raul Dominguez Date: Fri, 17 Apr 2020 09:10:07 +0000 Subject: [PATCH 2/3] Avoid folder not found error when ASN1_OUT_DIR was not created previously --- cmake_macros/esrocos.cmake | 1 + 1 file changed, 1 insertion(+) diff --git a/cmake_macros/esrocos.cmake b/cmake_macros/esrocos.cmake index 14fe419..60adaf6 100644 --- a/cmake_macros/esrocos.cmake +++ b/cmake_macros/esrocos.cmake @@ -159,6 +159,7 @@ function(esrocos_asn1_types_package NAME) # Process optional arguments set(MODE "ASN1") set(ASN1_OUT_DIR "${CMAKE_CURRENT_BINARY_DIR}/${NAME}") + file(MAKE_DIRECTORY ${ASN1_OUT_DIR}) set(ASN1_COMPILER "$ENV{HOME}/tool-inst/share/asn1scc/asn1.exe" CACHE STRING "ASN compiler location") set(ASN1_PREFIX "asn1Scc" CACHE STRING "ASN type prefix") foreach(ARG ${ARGN}) From 68c3ec99e6fdb977a6b532eee3ffb009c22f20b2 Mon Sep 17 00:00:00 2001 From: Raul Dominguez Date: Sat, 18 Apr 2020 12:55:52 +0200 Subject: [PATCH 3/3] [create_asn1_types_build_folder] Directory missing for output is now created explicitly --- cmake_macros/esrocos.cmake | 1 + 1 file changed, 1 insertion(+) diff --git a/cmake_macros/esrocos.cmake b/cmake_macros/esrocos.cmake index 60adaf6..bfd427a 100644 --- a/cmake_macros/esrocos.cmake +++ b/cmake_macros/esrocos.cmake @@ -183,6 +183,7 @@ function(esrocos_asn1_types_package NAME) elseif(MODE STREQUAL "OUTDIR") # Add imported package set(ASN1_OUT_DIR "${ARG}") + file(MAKE_DIRECTORY "${PROJECT_BINARY_DIR}/${ARG}") else() # Unexpected mode message(FATAL_ERROR "Internal error at esrocos_asn1_types_package(${NAME}): wrong mode ${MODE}.")