diff --git a/CMakeLists.txt b/CMakeLists.txt
index 18e52f6..f2e682a 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -113,14 +113,6 @@
     add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/lib/java)
 endif()
 
-if(BUILD_JAVASCRIPT)
-    add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/lib/js)
-endif()
-
-if(BUILD_NODEJS)
-    add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/lib/nodejs)
-endif()
-
 if(BUILD_PYTHON)
     add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/lib/py)
     if(BUILD_TESTING)
diff --git a/compiler/cpp/CMakeLists.txt b/compiler/cpp/CMakeLists.txt
index 7125cd7..92b0a5f 100644
--- a/compiler/cpp/CMakeLists.txt
+++ b/compiler/cpp/CMakeLists.txt
@@ -115,10 +115,6 @@
 
 target_link_libraries(thrift-compiler parse)
 
-add_custom_command(TARGET thrift-compiler POST_BUILD
-    COMMAND ${CMAKE_COMMAND} -E make_directory "${CMAKE_SOURCE_DIR}/compiler/cpp"
-    COMMAND ${CMAKE_COMMAND} -E copy "${CMAKE_CURRENT_BINARY_DIR}/bin/thrift${CMAKE_EXECUTABLE_SUFFIX}" "${CMAKE_SOURCE_DIR}/compiler/cpp/")
-
 install(TARGETS thrift-compiler DESTINATION bin)
 
 if(BUILD_TESTING)
diff --git a/lib/js/CMakeLists.txt b/lib/js/CMakeLists.txt
deleted file mode 100644
index 340b3c6..0000000
--- a/lib/js/CMakeLists.txt
+++ /dev/null
@@ -1,45 +0,0 @@
-#
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements. See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership. The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License. You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied. See the License for the
-# specific language governing permissions and limitations
-# under the License.
-#
-
-if(NOT JAVASCRIPT_INSTALL_DIR)
-    if(IS_ABSOLUTE "${LIB_INSTALL_DIR}")
-        set(JAVASCRIPT_INSTALL_DIR "${LIB_INSTALL_DIR}/js")
-    else()
-        set(JAVASCRIPT_INSTALL_DIR "${CMAKE_INSTALL_PREFIX}/${LIB_INSTALL_DIR}/js")
-    endif()
-endif()
-
-if(IS_ABSOLUTE "${DOC_INSTALL_DIR}")
-    set(JAVASCRIPT_DOC_INSTALL_DIR "${DOC_INSTALL_DIR}/js")
-else()
-    set(JAVASCRIPT_DOC_INSTALL_DIR "${CMAKE_INSTALL_PREFIX}/${DOC_INSTALL_DIR}/js")
-endif()
-
-add_custom_target(ThriftJavascript ALL
-    COMMENT "Building Javascript library using npm + Grunt Wrapper"
-    COMMAND npm install
-    COMMAND npx grunt
-    WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
-)
-
-install(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/dist/
-        DESTINATION ${JAVASCRIPT_INSTALL_DIR}
-        FILES_MATCHING PATTERN "thrift*.js")
-install(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/doc/
-        DESTINATION ${JAVASCRIPT_DOC_INSTALL_DIR})
diff --git a/lib/js/Makefile.am b/lib/js/Makefile.am
index c14303e..b534042 100644
--- a/lib/js/Makefile.am
+++ b/lib/js/Makefile.am
@@ -58,6 +58,5 @@
 	package.json \
 	package-lock.json \
 	README.md \
-	CMakeLists.txt \
 	src \
 	test
diff --git a/lib/nodejs/CMakeLists.txt b/lib/nodejs/CMakeLists.txt
deleted file mode 100644
index a0c8508..0000000
--- a/lib/nodejs/CMakeLists.txt
+++ /dev/null
@@ -1,44 +0,0 @@
-#
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements. See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership. The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License. You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied. See the License for the
-# specific language governing permissions and limitations
-# under the License.
-#
-
-if(NOT NODEJS_INSTALL_DIR)
-    if(IS_ABSOLUTE "${LIB_INSTALL_DIR}")
-        set(NODEJS_INSTALL_DIR "${LIB_INSTALL_DIR}/nodejs")
-    else()
-        set(NODEJS_INSTALL_DIR "${CMAKE_INSTALL_PREFIX}/${LIB_INSTALL_DIR}/nodejs")
-    endif()
-endif()
-
-# Currently no doc
-#if(IS_ABSOLUTE "${DOC_INSTALL_DIR}")
-#    set(NODEJS_DOC_INSTALL_DIR "${DOC_INSTALL_DIR}/nodejs")
-#else()
-#    set(NODEJS_DOC_INSTALL_DIR "${CMAKE_INSTALL_PREFIX}/${DOC_INSTALL_DIR}/nodejs")
-#endif()
-
-add_custom_target(ThriftNodeJS ALL
-    COMMENT "Installing NodeJS dependencies npm"
-    COMMAND npm install
-    WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
-)
-
-install(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/lib/
-        DESTINATION ${NODEJS_INSTALL_DIR})
-#install(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/doc/
-#        DESTINATION ${NODEJS_DOC_INSTALL_DIR})
diff --git a/lib/nodejs/Makefile.am b/lib/nodejs/Makefile.am
index 67f6ff6..71068b5 100755
--- a/lib/nodejs/Makefile.am
+++ b/lib/nodejs/Makefile.am
@@ -42,5 +42,4 @@
 	lib \
 	test \
 	coding_standards.md \
-	CMakeLists.txt \
 	README.md
