forked from microsoft/vcpkg
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[mujs] Missing fixes (microsoft#29635)
* [mujs] Fix CMake config, cleanup * Enable shared build on !windows * Install pkg-config file * Handle libm * Official usage: pkgconfig * Update versions
- Loading branch information
Showing
8 changed files
with
66 additions
and
34 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,48 +1,61 @@ | ||
cmake_minimum_required(VERSION 3.9) | ||
project(mujs VERSION 1.3.2) | ||
cmake_minimum_required(VERSION 3.25) | ||
project(mujs C) | ||
|
||
set(LINK_LIBRARIES "") | ||
set(PC_LIBS_PRIVATE "") | ||
|
||
if(MSVC) | ||
add_compile_options(/W3 /wd4005 /wd4996 /wd4018 -D_CRT_SECURE_NO_WARNINGS) | ||
else() | ||
find_library(HAVE_LIBM NAMES m) | ||
if(HAVE_LIBM) | ||
list(APPEND LINK_LIBRARIES m) | ||
string(APPEND PC_LIBS_PRIVATE " -lm") | ||
endif() | ||
endif() | ||
|
||
file(GLOB mujs_sources js*.c utf*.c regexp.c) | ||
|
||
include_directories(.) | ||
|
||
add_library(mujs ${mujs_sources}) | ||
|
||
target_include_directories(mujs PUBLIC "$<INSTALL_INTERFACE:include>") | ||
target_include_directories(mujs | ||
PUBLIC | ||
"$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}>" | ||
"$<INSTALL_INTERFACE:include>" | ||
) | ||
|
||
# Add CMake find_package() integration | ||
set(CONFIG_INSTALL_DIR "${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME}") | ||
set(PROJECT_CONFIG "${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}Config.cmake") | ||
set(TARGETS_EXPORT_NAME "unofficial-${PROJECT_NAME}Targets") | ||
set(NAMESPACE "unofficial::mujs::") | ||
target_link_libraries(mujs PRIVATE ${LINK_LIBRARIES}) | ||
|
||
install( | ||
TARGETS mujs | ||
EXPORT ${TARGETS_EXPORT_NAME} | ||
EXPORT unofficial-mujs-targets | ||
RUNTIME DESTINATION bin | ||
LIBRARY DESTINATION lib | ||
ARCHIVE DESTINATION lib | ||
) | ||
|
||
export(TARGETS mujs NAMESPACE ${NAMESPACE} FILE mujsTargets.cmake) | ||
install( | ||
EXPORT unofficial-mujs-targets | ||
FILE unofficial-mujs-config.cmake | ||
NAMESPACE unofficial::mujs:: | ||
DESTINATION "share/unofficial-mujs" | ||
) | ||
|
||
include(CMakePackageConfigHelpers) | ||
write_basic_package_version_file( | ||
mujsConfigVersion.cmake | ||
write_basic_package_version_file(unofficial-mujs-config-version.cmake | ||
VERSION ${PACKAGE_VERSION} | ||
COMPATIBILITY AnyNewerVersion | ||
) | ||
install( | ||
FILES "${CMAKE_CURRENT_BINARY_DIR}/unofficial-mujs-config-version.cmake" | ||
DESTINATION "share/unofficial-mujs" | ||
) | ||
|
||
configure_package_config_file("mujsConfig.cmake.in" "${PROJECT_CONFIG}" INSTALL_DESTINATION "${CONFIG_INSTALL_DIR}") | ||
install(FILES "${PROJECT_CONFIG}" DESTINATION "${CONFIG_INSTALL_DIR}") | ||
configure_file("${CMAKE_CURRENT_SOURCE_DIR}/mujs.pc" "${CMAKE_CURRENT_BINARY_DIR}/mujs.pc" @ONLY) | ||
install( | ||
FILES "${CMAKE_CURRENT_BINARY_DIR}/mujs.pc" | ||
DESTINATION "lib/pkgconfig" | ||
) | ||
|
||
install(EXPORT ${TARGETS_EXPORT_NAME} | ||
NAMESPACE ${NAMESPACE} | ||
DESTINATION "${CONFIG_INSTALL_DIR}") | ||
|
||
if(NOT DISABLE_INSTALL_HEADERS) | ||
install(FILES mujs.h DESTINATION include) | ||
endif() |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,11 @@ | ||
prefix=${pcfiledir}/../.. | ||
exec_prefix=${prefix} | ||
libdir=${exec_prefix}/lib | ||
includedir=${prefix}/include | ||
|
||
Name: mujs | ||
Description: MuJS embeddable Javascript interpreter | ||
Version: @PACKAGE_VERSION@ | ||
Cflags: -I${includedir} | ||
Libs: -L${libdir} -lmujs | ||
Libs.private: @PC_LIBS_PRIVATE@ |
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,6 @@ | ||
mujs can be imported via CMake FindPkgConfig module: | ||
|
||
find_package(PkgConfig) | ||
pkg_check_modules(MUJS REQUIRED IMPORTED_TARGET mujs) | ||
|
||
target_link_libraries(main PRIVATE PkgConfig::MUJS) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters