commit the fun, see how it all goes down...

This commit is contained in:
ThePhD 2018-01-08 20:33:39 -05:00
parent 92821e28e2
commit 8cf7f49ec7
2 changed files with 29 additions and 11 deletions

View File

@ -60,12 +60,15 @@ if (MSVC)
endif() endif()
else() else()
add_compile_options(-Wno-unknown-warning -Wno-unknown-warning-option -Wall -Wextra -Wpedantic -pedantic -pedantic-errors) add_compile_options(-Wno-unknown-warning -Wno-unknown-warning-option -Wall -Wextra -Wpedantic -pedantic -pedantic-errors)
#if (CMAKE_CXX_COMPILER_ID STREQUAL "Clang")
# set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -lc++")
# add_compile_options("$<$<STREQUAL:$<TARGET_PROPERTY:LINKER_LANGUAGE>,CXX>:-stdlib=libc++>")
#endif()
endif() endif()
if (CI) if (CI)
if (CMAKE_CXX_COMPILER_ID STREQUAL "Clang") if (CMAKE_CXX_COMPILER_ID STREQUAL "Clang")
include_directories("$ENV{CLANG_PREFIX}/include/c++/v1") include_directories("$ENV{CLANG_PREFIX}/include/c++/v1")
#add_compile_options(-lc++)
endif() endif()
endif() endif()
@ -164,16 +167,16 @@ set(SOL2_SINGLE_HEADER_FOUND FALSE)
if (PYTHONINTERP_FOUND) if (PYTHONINTERP_FOUND)
if (SINGLE) if (SINGLE)
set(SOL2_SINGLE_FOUND TRUE) set(SOL2_SINGLE_FOUND TRUE)
add_custom_command(OUTPUT "${CMAKE_BINARY_DIR}/include/single/sol/sol.hpp" "${CMAKE_BINARY_DIR}/include/single/sol/sol_forward.hpp" add_custom_command(OUTPUT "${CMAKE_BINARY_DIR}/${CMAKE_CFG_INTDIR}/include/single/sol/sol.hpp" "${CMAKE_BINARY_DIR}/${CMAKE_CFG_INTDIR}/include/single/sol/sol_forward.hpp"
COMMAND ${PYTHON_EXECUTABLE} "${CMAKE_SOURCE_DIR}/single.py" --output "${CMAKE_BINARY_DIR}/include/single/sol/sol.hpp" COMMAND ${PYTHON_EXECUTABLE} "${CMAKE_SOURCE_DIR}/single.py" --output "${CMAKE_BINARY_DIR}/${CMAKE_CFG_INTDIR}/include/single/sol/sol.hpp"
DEPENDS ${SOL2_HEADER_SOURCES}) DEPENDS ${SOL2_HEADER_SOURCES})
add_custom_target(sol2_single_header add_custom_target(sol2_single_header
DEPENDS "${CMAKE_BINARY_DIR}/include/single/sol/sol.hpp" "${CMAKE_BINARY_DIR}/include/single/sol/sol_forward.hpp") DEPENDS "${CMAKE_BINARY_DIR}/${CMAKE_CFG_INTDIR}/include/single/sol/sol.hpp" "${CMAKE_BINARY_DIR}/${CMAKE_CFG_INTDIR}/include/single/sol/sol_forward.hpp")
set_target_properties(sol2_single_header set_target_properties(sol2_single_header
PROPERTIES PROPERTIES
INCLUDE_DIRECTORIES "${CMAKE_BINARY_DIR}/include/single/sol" INCLUDE_DIRECTORIES "${CMAKE_BINARY_DIR}/${CMAKE_CFG_INTDIR}/include/single/sol"
INTERFACE_INCLUDE_DIRECOTIRES "${CMAKE_BINARY_DIR}/include/single/sol") INTERFACE_INCLUDE_DIRECOTIRES "${CMAKE_BINARY_DIR}/${CMAKE_CFG_INTDIR}/include/single/sol")
install(FILES "${CMAKE_BINARY_DIR}/include/single/sol/sol.hpp" "${CMAKE_BINARY_DIR}/include/single/sol/sol_forward.hpp" install(FILES "${CMAKE_BINARY_DIR}/${CMAKE_CFG_INTDIR}/include/single/sol/sol.hpp" "${CMAKE_BINARY_DIR}/include/${CMAKE_CFG_INTDIR}/single/sol/sol_forward.hpp"
DESTINATION include/sol) DESTINATION include/sol)
endif() endif()
if (DOCS) if (DOCS)

View File

@ -589,6 +589,8 @@ TEST_CASE("proxy/proper-pushing", "allow proxies to reference other proxies and
REQUIRE(b); REQUIRE(b);
} }
#if !(defined(__clang__) && defined(SOL2_CI))
TEST_CASE("proxy/equality", "check to make sure equality tests work") { TEST_CASE("proxy/equality", "check to make sure equality tests work") {
sol::state lua; sol::state lua;
REQUIRE((lua["a"] == sol::lua_nil)); REQUIRE((lua["a"] == sol::lua_nil));
@ -596,14 +598,27 @@ TEST_CASE("proxy/equality", "check to make sure equality tests work") {
REQUIRE_FALSE((lua["a"] == 0)); REQUIRE_FALSE((lua["a"] == 0));
REQUIRE_FALSE((lua["a"] == 2)); REQUIRE_FALSE((lua["a"] == 2));
REQUIRE_FALSE((lua["a"] != sol::lua_nil));
REQUIRE((lua["a"] != nullptr));
REQUIRE((lua["a"] != 0));
REQUIRE((lua["a"] != 2));
lua["a"] = 2; lua["a"] = 2;
REQUIRE_FALSE((lua["a"] == sol::lua_nil)); //0 REQUIRE_FALSE((lua["a"] == sol::lua_nil));
REQUIRE_FALSE((lua["a"] == nullptr)); //0 REQUIRE_FALSE((lua["a"] == nullptr));
REQUIRE_FALSE((lua["a"] == 0)); //0 REQUIRE_FALSE((lua["a"] == 0));
REQUIRE((lua["a"] == 2)); //1 REQUIRE((lua["a"] == 2));
REQUIRE((lua["a"] != sol::lua_nil));
REQUIRE((lua["a"] != nullptr));
REQUIRE((lua["a"] != 0));
REQUIRE_FALSE((lua["a"] != 2));
} }
#endif // Clang and Continuous Integration problems...
TEST_CASE("compilation/const regression", "make sure constness in tables is respected all the way down") { TEST_CASE("compilation/const regression", "make sure constness in tables is respected all the way down") {
struct State { struct State {
public: public: