diff --git a/CMakeLists.txt b/CMakeLists.txt index 31c5bfe7166bf42669cf4f0dd706ff3c2107afe1..fcddb20d5740a6141fe8a409e053ca1ca8b36f9d 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -4,12 +4,28 @@ cmake_minimum_required(VERSION 2.8) set(CMAKE_VERBOSE_MAKEFILE ON) set(CMAKE_COLOR_MAKEFILE ON) set(CMAKE_C_STANDARD 11) -set(SUBMODULES_NO_BUILD ON) -add_subdirectory(libdap) -add_subdirectory(libdap-crypto) +if(NOT (${SUBMODULES_NO_BUILD} MATCHES ON)) + set(SUBMODULES_NO_BUILD ON) + if (NOT (TARGET dap_core)) + add_subdirectory(libdap) + target_compile_options( + dap_core PRIVATE + "-fpic" + ) + endif() + if (NOT (TARGET dap_crypto)) + add_subdirectory(libdap-crypto) + target_compile_options( + dap_crypto PRIVATE + "-fpic" + ) + endif() +endif() + add_subdirectory(libdap-server-core) + file(GLOB SERVER_CORE_PYTHON_SRCS src/*.c) file(GLOB SERVER_CORE_PYTHON_HEADERS include/*.h) @@ -28,18 +44,6 @@ target_compile_options( "-fpic" ) -target_compile_options( - dap_core PRIVATE - "-fpic" -) -target_compile_options( - dap_crypto PRIVATE - "-fpic" -) - - -#target_link_libraries(${PROJECT_NAME} dap_core dap_crypto) -#targat_link_libraries(${PROJECT_NAME} dap_server_core) target_link_libraries(${PROJECT_NAME} dap_core dap_crypto dap_server_core) #if(BUILD_DAP_PYTHON_TESTS) diff --git a/libdap b/libdap index 67993d1f4cec44de464acee32a4d4f71d51c7e7d..6c5dd5a5b0de5573b03ed144c651352467a56101 160000 --- a/libdap +++ b/libdap @@ -1 +1 @@ -Subproject commit 67993d1f4cec44de464acee32a4d4f71d51c7e7d +Subproject commit 6c5dd5a5b0de5573b03ed144c651352467a56101 diff --git a/libdap-crypto b/libdap-crypto index 6249887fdd5c9ed88eb26c1e10f853ea9f7001b6..1acfbdd8f5f3caef4c2e584ae2c20ab584b22b4e 160000 --- a/libdap-crypto +++ b/libdap-crypto @@ -1 +1 @@ -Subproject commit 6249887fdd5c9ed88eb26c1e10f853ea9f7001b6 +Subproject commit 1acfbdd8f5f3caef4c2e584ae2c20ab584b22b4e diff --git a/libdap-server-core b/libdap-server-core index 6778521f9f646e2985994e63f470067b3e2c1e48..de9b4c77a021af36148515e3dbc56403ab45490f 160000 --- a/libdap-server-core +++ b/libdap-server-core @@ -1 +1 @@ -Subproject commit 6778521f9f646e2985994e63f470067b3e2c1e48 +Subproject commit de9b4c77a021af36148515e3dbc56403ab45490f diff --git a/src/libdap-server-core-python.c b/src/libdap-server-core-python.c index 7719952c0e95903862e63bd78faa40515c1adeb5..64b5682897afb4bb6ad527adb902e4b083eff803 100644 --- a/src/libdap-server-core-python.c +++ b/src/libdap-server-core-python.c @@ -4,9 +4,14 @@ static PyObject *dap_server_core_init(PyObject *self, PyObject *args){ uint32_t l_thread_cnt; size_t conn_t; - if (!PyArg_ParseTuple(args, "I|n", &l_thread_cnt, &conn_t)){ + const char *app_name; + const char *app_log; + if (!PyArg_ParseTuple(args, "I|n|s|s", &l_thread_cnt, &conn_t, &app_name, &app_log)){ return NULL; } + int32_t result_common_init = dap_common_init(app_name, app_log); + if (result_common_init != 0) + return PyLong_FromLong(result_common_init); int32_t result = dap_server_init(l_thread_cnt); if ( result != 0 ) { log_it( L_CRITICAL, "Can't init socket server module" ); diff --git a/test/test.py b/test/test.py index 2780abb163e6d8cdd65d2ec4dc757b4af707f65c..4f48404824177add2a2bd50e4d5065967cb954a9 100644 --- a/test/test.py +++ b/test/test.py @@ -1,6 +1,6 @@ import libDapServerCore as server print ("Start wrapping libdap server core python module") -res_i = server.init(1, 0) +res_i = server.init(1, 0, "TestServer", "TestServer.txt") rc = server.listen("0.0.0.0", 3307, 0) server.deinit()