Commit 4901a116 authored by Jan Köster's avatar Jan Köster
Browse files

msvc fixed

parent e7837c7f
Loading
Loading
Loading
Loading
Loading
+2 −2
Changes for CMakeLists.txt: 2 added lines, 2 removed lines.
Original line number Diff line number Diff line
cmake_minimum_required(VERSION 3.18)
cmake_minimum_required(VERSION 3.26)

set(CMAKE_CXX_STANDARD 20)
set(CMAKE_CXX_STANDARD 23)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
set(CMAKE_ENABLE_EXPORTS 1)

+19 −2
Changes for CMakeSettings.json: 19 added lines, 2 removed lines.
Original line number Diff line number Diff line
@@ -4,12 +4,29 @@
      "name": "x64-Debug",
      "generator": "Ninja",
      "configurationType": "Debug",
            "inheritEnvironments": [ "msvc_x64_x64" ],
      "inheritEnvironments": [ "clang_cl_x64_x64" ],
      "buildRoot": "${projectDir}\\out\\build\\${name}",
      "installRoot": "${projectDir}\\out\\install\\${name}",
      "cmakeCommandArgs": "",
      "buildCommandArgs": "",
            "ctestCommandArgs": ""
      "ctestCommandArgs": "",
      "variables": [
        {
          "name": "DATAPATH",
          "value": "C:\\Users\\j.koester.aclap1\\web-runtime\\data",
          "type": "FILEPATH"
        },
        {
          "name": "CMAKE_INSTALL_PREFIX",
          "value": "C:\\Users\\j.koester.aclap1\\web-runtime",
          "type": "PATH"
        },
        {
          "name": "PLUGINPATH",
          "value": "C:\\Users\\j.koester.aclap1\\web-runtime\\lib\\authdb",
          "type": "FILEPATH"
        }
      ]
    }
  ]
}
 No newline at end of file
+8 −4
Changes for bindings/CMakeLists.txt: 8 added lines, 4 removed lines.
Original line number Diff line number Diff line
if(CMAKE_COMPILER_IS_GNUCC)

# ============================================================
#  Node.js binding
# ============================================================
@@ -17,7 +15,15 @@ target_include_directories(
    authdb-nds BEFORE INTERFACE "${CMAKE_SOURCE_DIR}/client"
)

if(NOT MSVC)    
    target_compile_options(authdb-nds INTERFACE -z,defs)
else()
    target_compile_options(authdb-nds INTERFACE /Zc:__cplusplus)
endif()

if(CMAKE_HOST_WIN32)
    add_compile_definitions(NOMINMAX)
endif()

target_link_libraries(authdb-nds INTERFACE client)

@@ -108,5 +114,3 @@ if(PHP_CONFIG_EXECUTABLE)
else()
    message(STATUS "php-config not found – skipping PHP binding")
endif()

endif()
+2 −1
Changes for bindings/nodejs/package.json: 2 added lines, 1 removed line.
Original line number Diff line number Diff line
@@ -34,7 +34,8 @@
  },
  "os": [
    "linux",
    "freebsd"
    "freebsd",
    "win32"
  ],
  "engines": {
    "node": ">=4.0.0"
+17 −1
Changes for cmake/nodejs.cmake: 17 added lines, 1 removed line.
Original line number Diff line number Diff line
@@ -171,7 +171,7 @@ function(add_node_module NAME)
            target_compile_definitions(${_TARGET} PRIVATE
                "_DARWIN_USE_64_BIT_INODE=1"
            )
        else()
        elseif(NOT WIN32)
            # Ensures that linked symbols are loaded when the module is loaded instead of causing
            # unresolved symbol errors later during runtime.
            set_target_properties(${_TARGET} PROPERTIES
@@ -187,6 +187,22 @@ function(add_node_module NAME)
            POST_BUILD
            COMMAND ${CMAKE_COMMAND} -E copy "$<TARGET_FILE:${_TARGET}>" "${_OUTPUT_PATH}"
        )

        if(WIN32)
            set(_NODE_LIB_DIR "${_CACHE_DIR}/node/${_NODE_VERSION}/win-x64")
            set(_NODE_LIB "${_NODE_LIB_DIR}/node.lib")

            if(NOT EXISTS "${_NODE_LIB}")
                file(MAKE_DIRECTORY "${_NODE_LIB_DIR}")
                _node_module_download(
                    "node.lib for Node ${_NODE_VERSION}"
                    "https://nodejs.org/download/release/${_NODE_VERSION}/win-x64/node.lib"
                    "${_NODE_LIB}"
                )
            endif()

            target_link_libraries(${_TARGET} PRIVATE "${_NODE_LIB}")
        endif()
    endforeach()

    # Add a target that builds all Node ABIs.