cmake: relocate custom commands for test_certs.h and test_keys.h generation

Signed-off-by: Valerio Setti <valerio.setti@nordicsemi.no>
diff --git a/CMakeLists.txt b/CMakeLists.txt
index cf004f4..a56ecdc 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -311,37 +311,13 @@
 # to define the test executables.
 #
 if(ENABLE_TESTING OR ENABLE_PROGRAMS)
-    add_custom_command(
-        OUTPUT
-            ./tests/src/test_keys.h
-        WORKING_DIRECTORY
-            ${CMAKE_CURRENT_SOURCE_DIR}
-        COMMAND
-            ${MBEDTLS_PYTHON_EXECUTABLE}
-                "${CMAKE_CURRENT_SOURCE_DIR}/tests/scripts/generate_test_keys.py"
-                    "--output"
-                        "${CMAKE_CURRENT_SOURCE_DIR}/tests/src/test_keys.h"
-        DEPENDS
-            ${CMAKE_CURRENT_SOURCE_DIR}/tests/scripts/generate_test_keys.py
-    )
-    add_custom_command(
-        OUTPUT
-            ./tests/src/test_certs.h
-        WORKING_DIRECTORY
-            ${CMAKE_CURRENT_SOURCE_DIR}
-        COMMAND
-            "${MBEDTLS_PYTHON_EXECUTABLE}"
-                "${CMAKE_CURRENT_SOURCE_DIR}/tests/scripts/generate_test_cert_macros.py"
-                    "--output"
-                        "${CMAKE_CURRENT_SOURCE_DIR}/tests/src/test_certs.h"
-        DEPENDS
-            ${CMAKE_CURRENT_SOURCE_DIR}/tests/scripts/generate_test_cert_macros.py
-    )
     file(GLOB MBEDTLS_TEST_FILES
          ${CMAKE_CURRENT_SOURCE_DIR}/tests/src/*.c
          ${CMAKE_CURRENT_SOURCE_DIR}/tests/src/drivers/*.c)
-    add_library(mbedtls_test OBJECT ${MBEDTLS_TEST_FILES}
-                ./tests/src/test_keys.h ./tests/src/test_certs.h)
+    add_library(mbedtls_test OBJECT ${MBEDTLS_TEST_FILES})
+    if(GEN_FILES)
+        add_dependencies(mbedtls_test test_keys_header test_certs_header)
+    endif()
     target_include_directories(mbedtls_test
         PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/tests/include
         PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include
diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt
index 589643a..83c48d2 100644
--- a/tests/CMakeLists.txt
+++ b/tests/CMakeLists.txt
@@ -76,6 +76,34 @@
 if(GEN_FILES)
     add_custom_command(
         OUTPUT
+            ${CMAKE_CURRENT_SOURCE_DIR}/src/test_keys.h
+        WORKING_DIRECTORY
+            ${CMAKE_CURRENT_SOURCE_DIR}
+        COMMAND
+            ${MBEDTLS_PYTHON_EXECUTABLE}
+                "${CMAKE_CURRENT_SOURCE_DIR}/scripts/generate_test_keys.py"
+                    "--output"
+                        "${CMAKE_CURRENT_SOURCE_DIR}/src/test_keys.h"
+        DEPENDS
+            ${CMAKE_CURRENT_SOURCE_DIR}/scripts/generate_test_keys.py
+    )
+    add_custom_target(test_keys_header DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/src/test_keys.h)
+    add_custom_command(
+        OUTPUT
+            ${CMAKE_CURRENT_SOURCE_DIR}/src/test_certs.h
+        WORKING_DIRECTORY
+            ${CMAKE_CURRENT_SOURCE_DIR}
+        COMMAND
+            "${MBEDTLS_PYTHON_EXECUTABLE}"
+                "${CMAKE_CURRENT_SOURCE_DIR}/scripts/generate_test_cert_macros.py"
+                    "--output"
+                        "${CMAKE_CURRENT_SOURCE_DIR}/src/test_certs.h"
+        DEPENDS
+            ${CMAKE_CURRENT_SOURCE_DIR}/scripts/generate_test_cert_macros.py
+    )
+    add_custom_target(test_certs_header DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/src/test_certs.h)
+    add_custom_command(
+        OUTPUT
             ${bignum_generated_data_files}
         WORKING_DIRECTORY
             ${CMAKE_CURRENT_SOURCE_DIR}/..